2009-07-16 8 views

Répondre

19

Si c'est 4.6 OS RIM, pourquoi ne pas utiliser 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); 

Si votre version BlackBerry OS 4.5 et plus, vous pouvez essayer dessiner bitmap avec la bordure dessus, sur l'événement de peinture:

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

J'utilise Blackberry JDE 4.5, le code que vous avez donné donnant err ors peut être classe Border n'est pas inclus dans JDE 4.5.En tout cas, je veux savoir sur ces concepts de frontière si vous avez un lien pour obtenir les tutoriels s'il vous plaît donnez-moi. – Rajapandian

+0

sûr, voir mise à jour. –

6

override méthode de peinture comme suit:

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