【发布时间】:2011-05-06 15:29:38
【问题描述】:
我使用 JDE4.2.1 编写了一个带边框的自定义编辑字段 然后将此字段添加到 VerticalLayoutManager 并按如下方式实例化:
BorderEditField bef = new BorderEditField("Enter a value: ", null, 6,
BorderEditField.FIELD_RIGHT | BorderEditField.FILTER_NUMERIC);
但是,无论我指定哪种样式 (FIELD_HCENTER),字段始终是左对齐的。 有什么明显的我可能在这里遗漏的吗?在不同版本的 JDE 上尝试过,结果相同...
public class BorderEditField extends BasicEditField {
public BorderEditField(String label, String initialValue, int maxNumChars, long style)
{
super(label, initialValue, maxNumChars, style);
}
private int iRectX = getFont().getAdvance(getLabel());
private int iRectWidth = (getMaxSize() * getFont().getAdvance("X")) + 16;
public int getPreferredWidth() {
return Display.getWidth();
}
public void layout(int width, int height) {
super.layout(width, getPreferredHeight());
setExtent(width, getPreferredHeight());
}
public void paint(Graphics g) {
super.paint(g);
if (isFocus()) {
g.setColor(Color.RED);
g.setGlobalAlpha(220);
g.drawRect(iRectX, 0, iRectWidth, getPreferredHeight());
} else {
g.setColor(Color.BLACK);
g.setBackgroundColor(Color.DARKBLUE);
g.setGlobalAlpha(150);
g.drawRect(iRectX, 0, iRectWidth, getPreferredHeight());
}
}
}
谢谢。
【问题讨论】:
标签: java user-interface blackberry layout