2009-07-16 6 views

답변

19

당신이 Border 사용하지 않는 이유는, 4.6 RIM의 OS의 경우 : 블랙 베리 OS 버전 4.5 이상을 경우

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); 

을, 당신은 시도 할 수 있습니다 테두리에 비트 맵을 페인트 이벤트에 그립니다.

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

나는 검은 딸기 JDE 4.5를 사용하고 있습니다. ors있을 수 있습니다 Border 클래스는 JDE 4.5.Anyway에 포함되어 있지 않습니다 자습서를 얻을 수있는 링크가 있으면이 테두리 개념에 대해 알고 싶습니다. – Rajapandian

+0

업데이트를 참조하십시오. –

6

재정의 페인트 방법은 다음과 같이

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