【问题标题】:Blackberry - How to add border to BasicEditField?Blackberry - 如何为 BasicEditField 添加边框?
【发布时间】:2009-07-16 04:12:11
【问题描述】:

我在我的黑莓程序中使用了BasicEditField,BasicEditField不显示任何边框。所以我想自定义BasicEditField以显示边框。请给一些代码sn-ps。

【问题讨论】:

    标签: user-interface blackberry border


    【解决方案1】:

    如果是 4.6 RIM OS,为什么不使用Border

    BasicEditField roundedBorderEdit = new BasicEditField();
    XYEdges padding = new XYEdges(15, 15, 15, 15);
    int color = Color.CRIMSON;
    int lineStyle = Border.STYLE_DOTTED;
    Border roundedBorder = BorderFactory.createRoundedBorder(padding, 
         color, lineStyle);
    roundedBorderEdit.setBorder(roundedBorder);
    
    BasicEditField bevelBorderEdit = new BasicEditField();
    XYEdges edges = new XYEdges(10, 10, 10, 10);
    XYEdges outerColors = new XYEdges(Color.BLACK, Color.WHITE, 
         Color.BLACK, Color.WHITE);
    XYEdges innerColors = new XYEdges(Color.WHITE, Color.BLACK, 
         Color.WHITE, Color.BLACK);
    Border bevelBorder = BorderFactory.createBevelBorder(edges, 
         outerColors, innerColors);
    bevelBorderEdit.setBorder(bevelBorder);
    

    如果您的 BlackBerry OS 版本为 4.5 及更早版本,您可以尝试在绘制事件时绘制带有边框的位图:

    class BorderedEdit extends BasicEditField
    {
        Bitmap mBorder = null;
    
        public BorderedEdit(Bitmap borderBitmap) {
            mBorder = borderBitmap;
        }
    
        protected void paint(Graphics graphics) {
            graphics.drawBitmap(0, 0, mBorder.getWidth(), 
                mBorder.getHeight(), mBorder, 0, 0);
            super.paint(graphics);
        }
    }
    

    【讨论】:

    • 我正在使用 Blackberry JDE 4.5,您给出的错误代码可能是 Border 类不包含在 JDE 4.5 中。无论如何,如果您有任何链接可以获取此 Border 概念,我想知道教程请给我。
    【解决方案2】:

    重写paint方法如下:

    editField= new BasicEditField(..parameters here..) {
                public void paint(Graphics g) {
                    super.paint(g);
                    g.drawRect(0, 0, getWidth(), getHeight());
                }
            };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多