내 Blackberry 프로그램에서 BasicEditField를 사용했는데 BasicEditField가 테두리를 표시하지 않습니다. 따라서 BasicEditField를 border.please로 표시하도록 사용자 정의하고 싶습니다. 일부 코드 조각을 제공합니다.Blackberry - BasicEditField에 테두리를 추가하는 방법?
7
A
답변
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);
}
}
6
재정의 페인트 방법은 다음과 같이
editField= new BasicEditField(..parameters here..) {
public void paint(Graphics g) {
super.paint(g);
g.drawRect(0, 0, getWidth(), getHeight());
}
};
나는 검은 딸기 JDE 4.5를 사용하고 있습니다. ors있을 수 있습니다 Border 클래스는 JDE 4.5.Anyway에 포함되어 있지 않습니다 자습서를 얻을 수있는 링크가 있으면이 테두리 개념에 대해 알고 싶습니다. – Rajapandian
업데이트를 참조하십시오. –