我正在尝试在两个文本框周围绘制边框,如果我单独留下主屏幕的背景颜色,则可以使用。客户的规范要求使用蓝色背景的配色方案。当EditFields绘制到屏幕时,它们显示为跨越屏幕的一个字段。有两个,因为每个人都有焦点,当它假设两个,一切都工作。然后将两个EditField添加到GridFieldManager以控制布局。
我正在继承EditFields并在每个EXEditFields周围添加边框,如下所示:
public class EXEditField extends EditField {
...
private void init( MainScreen scrn ) {
if ( this.hasVirtualKeyboard() )
this.vkbd = scrn.getVirtualKeyboard();
this.setMaxSize( this.MAX_CHARS );
this.setBorder( BorderFactory.createRoundedBorder(new XYEdges(0,0,0,0), Border.STYLE_SOLID) );
this.setBackground( BackgroundFactory.createSolidBackground(Color.WHITE) );
//this.setPadding( 3, 3, 3, 3 );
//this.setMargin( 0, 3, 0, 3 );
}
...
} // end class
非常感谢任何帮助,因为好的Blackberry参考文档的方式并不多。
答案 0 :(得分:2)
好的,请检查this。
它是一个开源库,提供一些自定义BlackBerry字段,包括带有自定义边框的EditField。您应该能够修改代码以显示所需的边框。
答案 1 :(得分:0)
您可以尝试更改自定义EditField中的paintBackground方法,尝试将此代码放入EditField类中:
protected void paintBackground(Graphics graphics) {
graphics.setColor(Color.BLACK);
graphics.drawRect(0, 0, getWidth(), getHeight());
graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, getWidth(), getHeight());
}