如何在聚焦时用图像填充LWUIT按钮?

Ash*_*hir 3 lwuit java-me

我在LWUIT表格中有一个按钮,我有一个应该在这个按钮中绘制的图标,我希望图标填满所有按钮空间,而不会在按钮边框和图标中留下任何空白区域,我该怎么办?这个 ?

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

Button button = new Button(Image.createImage("/green.JPG"));
form.addComponent(button);
Run Code Online (Sandbox Code Playgroud)

当项目聚焦时,我得到以下结果:

在此输入图像描述

如何在聚焦时删除按钮"绿色"图标周围的白色边框(我将用另一个图像替换整个图标图像以表示聚焦状态)?

Vim*_*mal 5

1)内容,绿色图标和组件边界之间的间隙(白色边框)称为填充.要使用按钮边界拟合图像,请在每个组件状态中删除所有方向(TOP,BOTTOM,LEFTRIGHT)的填充,即Unselected,Selected,PressedDisabled.

因此,对于未选择状态,它是

button.getUnselectedStyle().setPadding(0, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

为按钮的其他状态执行此操作.

您可能想要使用按钮的边缘来适应它在容器内的适当位置.


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

button.get[ComponentState]Style().setBorder(null, false);
Run Code Online (Sandbox Code Playgroud)

在您关注焦点状态的情况下, button.getSelectedStyle().setBorder(null, false);


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

button.setIcon(image);                  
button.setRollOverIcon(image);
button.setPressedIcon(image);
Run Code Online (Sandbox Code Playgroud)