EditFields周围的边界 - 黑莓

时间:2011-04-05 15:08:32

标签: blackberry blackberry-editfield

我正在尝试在两个文本框周围绘制边框,如果我单独留下主屏幕的背景颜色,则可以使用。客户的规范要求使用蓝色背景的配色方案。当EditFields绘制到屏幕时,它们显示为跨越屏幕的一个字段。有两个,因为每个人都有焦点,当它假设两个,一切都工作。然后将两个EditField添加到GridFieldManager以控制布局。enter image description here

我正在继承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参考文档的方式并不多。

2 个答案:

答案 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());
    }