blackberry border blackberry-editfield

blackberry - Borde grueso para botón redondo en mora



border blackberry-editfield (3)

Estoy obteniendo esto ... Quiero la imagen de abajo Soy newbee en Blackberry.

Quiero dar un borde grueso al campo de botón redondeado en mi aplicación.

A continuación está mi código.

Creé una clase CustomBasicEditField.

protected void paint(Graphics graphics) { int x = (this.getWidth() - getFont().getAdvance(text)) >> 1; int y = (this.getHeight() - getFont().getHeight()) >> 1; graphics.setColor(backgroundColour); graphics.fillRoundRect(0, 0, fieldWidth, fieldHeight, 40, 40); graphics.setColor(border_color); graphics.setStrokeWidth(5); graphics.drawRoundRect(0, 0, fieldWidth, fieldHeight, 40, 40); graphics.setColor(0x2bb1ff); graphics.setFont(myFont); graphics.drawText(text, x, y); super.paint(graphics); }

Si hago drawRoundRect (0,0, fieldWidth, fieldHeight, 0, 0), imprime un cuadrado con un borde grueso.

Pero no quiero un cuadrado. Cuando guardo el código anterior, crea un cuadro de edición redondeado pero un borde delgado.

Gracias por adelantado.


Prueba este código:

public class LoadingScreen extends MainScreen { ButtonField save; public LoadingScreen() { setTitle("Loading Screen"); createGUI(); } private void createGUI() { VerticalFieldManager vr=new VerticalFieldManager(); Border border=BorderFactory.createRoundedBorder(new XYEdges(5,5,5,5),Color.RED,Border.STYLE_FILLED); // give XYEdges(10,10,10,10) and see the difference; save=new ButtonField("Save"); save.setBorder(border); vr.add(save); vr.setPadding(5, 5, 5, 5); add(vr); } public boolean onMenu(int instance) { return true; } }

Tengo esto:


Bitmap borderBitmap = //a ![your image] VerticalFieldManager vfm_email = new VerticalFieldManager(); vfm_email.setBorder(BorderFactory.createBitmapBorder(new XYEdges(5, 5, 5, 5), borderBitmap)); vfm_email.setMargin(m, 30, 0, 30); email = new EmailAddressEditField(" ", "", 50, Field.FOCUSABLE); vfm_email.add(email); vfm_.add(vfm_email);


Prueba esto, funciona bien.

Border myBorder = BorderFactory.createBitmapBorder(new XYEdges(10, 10, 10, 10), Bitmap.getBitmapResource("border.png")); BasicEditField edt_searchText = new BasicEditField(TextField.NO_NEWLINE) { protected void paint(Graphics g) { if (getTextLength() == 0) { g.setColor(Color.LIGHTGRAY); g.drawText("Search weeds", 0, 0); } g.setColor(Color.BLACK); super.paint(g); } }; edt_searchText.setBorder(myBorder);