【问题标题】:How to fill a LWUIT Button with an image when it's focused?聚焦时如何用图像填充 LWUIT 按钮?
【发布时间】:2011-11-27 14:52:33
【问题描述】:

我在 LWUIT 表单中有一个按钮,我有一个应该在这个按钮中绘制的图标,我希望图标填充所有按钮空间,而不在按钮边框和图标之间留下任何空白,如何我可以这样做吗?

例如:假设图标只是一个绿色方块,使用以下代码:

Button button = new Button(Image.createImage("/green.JPG"));
form.addComponent(button);

我得到以下结果当项目获得焦点

当按钮聚焦时,如何去除按钮“绿色”图标周围的白色边框(我会将整个图标图像替换为另一个图像来表示焦点状态)?

【问题讨论】:

    标签: java-me lwuit


    【解决方案1】:

    1) 内容、绿色图标和组件边界之间的空白,即白色边框,称为padding。要使图像与按钮边界相匹配,请移除所有方向的填充(TOPBOTTOMLEFTRIGHT ) 在每个组件状态下,即 UnselectedSelectedPressedDisabled

    所以对于未选择的状态是

    button.getUnselectedStyle().setPadding(0, 0, 0, 0);
    

    对按钮的其他状态执行此操作。

    您可能想要调整按钮的边距以使其适合容器内的大小。


    2) 要移除按钮的边框,请为每个组件状态调用以下语法方法

    button.get[ComponentState]Style().setBorder(null, false);
    

    对于你的专注状态,button.getSelectedStyle().setBorder(null, false);


    3) 使用以下方法为按钮的适当状态设置图标,

    button.setIcon(image);                  
    button.setRollOverIcon(image);
    button.setPressedIcon(image);
    

    【讨论】:

    • 正确。为了完整起见,我要补充一点,所有这些都可以在 GUI 主题编辑中定义,而无需实际编写任何代码。只需在按钮的主题样式(甚至默认样式)中将填充设置为 0 并将边框设置为空。
    猜你喜欢
    • 2013-05-31
    • 2011-12-09
    • 1970-01-01
    • 2015-08-16
    • 2016-09-14
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    相关资源
    最近更新 更多