7
我在我的黑莓程序中使用了BasicEditField,BasicEditField沒有顯示任何邊框。所以我想定製BasicEditField以顯示border.please給出一些代碼片段。Blackberry - 如何將邊框添加到BasicEditField?
我在我的黑莓程序中使用了BasicEditField,BasicEditField沒有顯示任何邊框。所以我想定製BasicEditField以顯示border.please給出一些代碼片段。Blackberry - 如何將邊框添加到BasicEditField?
如果是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);
}
}
覆蓋paint方法如下:
editField= new BasicEditField(..parameters here..) {
public void paint(Graphics g) {
super.paint(g);
g.drawRect(0, 0, getWidth(), getHeight());
}
};
我使用的是Blackberry JDE 4.5,您給出的代碼給出了錯誤ors可能是Border類不包含在JDE 4.5中。反正我想知道關於這個Border的概念,如果你有任何鏈接可以獲得教程請給我。 – Rajapandian 2009-07-16 06:44:11