2009-07-16 31 views

Trả lời

19

Nếu đó là 4,6 RIM OS, tại sao bạn không sử dụng 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); 

Nếu bạn phiên bản BlackBerry OS 4.5 trở lên, bạn có thể thử vẽ bitmap với đường viền trên đó, trên sự kiện sơn:

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); 
    } 
} 
+0

Tôi đang sử dụng Blackberry JDE 4.5, mã bạn đã đưa ra lỗi ors có thể là lớp biên giới không được bao gồm trong JDE 4.5. Dù sao tôi muốn biết về khái niệm này Border nếu bạn có bất kỳ liên kết để có được các hướng dẫn xin vui lòng cho tôi. – Rajapandian

+0

chắc chắn, hãy xem cập nhật. –

6

override phương pháp sơn như sau:

editField= new BasicEditField(..parameters here..) { 
      public void paint(Graphics g) { 
       super.paint(g); 
       g.drawRect(0, 0, getWidth(), getHeight()); 
      } 
     }; 
Các vấn đề liên quan