Blackberry- Labelfield 배경 색상 설정
-
12-09-2019 - |
문제
Alice Blue 배경이있는 메인 스크린에 오른쪽 정렬 텍스트가 포함 된 여러 Labelfields를 배치하고 싶습니다. 불행히도 나는 그렇게하는 방법을 알 수없는 것 같습니다.
내가 할 수있는 최선의 방법은 백라운드를 Color.
public void paint(Graphics graphics) {
graphics.setBackgroundColor(Color.ALICEBLUE);
graphics.clear();
super.paint(graphics);
}
그리고...
LabelField display = new LabelField("", LabelField.FIELD_RIGHT){
public void paint(Graphics graphics) {
graphics.setColor(Color.DIMGRAY);
graphics.setBackgroundColor(Color.ALICEBLUE);
graphics.clear();
super.paint(graphics);
}
};
메인 스크린 페인트 루틴을 무시하면 Alice Blue 배경이 나에게 있어도 Labelfields의 페인트 루틴을 무시하는 것은 적절하지 않은 것 같습니다. 결과는 레이블 텍스트 뒤에 Alice Blue 배경이있는 흰색 행입니다. 첨가 USE_ALL_WIDTH
배경 문제를 수정하지만 올바르게 일치 할 수는 없습니다. USE_ALL_WIDTH
.
누구든지 이것을위한 작업을 알고 있습니까?
해결책
버전 <= 4.5에서 오버 리드 페인트 ()로 수직 필드 매너를 만들 수 있습니다.
class BGManager extends VerticalFieldManager {
public BGManager() {
super(USE_ALL_HEIGHT|USE_ALL_WIDTH);
}
public void paint(Graphics graphics)
{
graphics.setBackgroundColor(Color.DARKRED);
graphics.clear();
super.paint(graphics);
}
}
그런 다음 간단한 Labelfield를 추가하여 화면에 사용하십시오.
class Scr extends MainScreen {
BGManager manager = new BGManager();
public Scr() {
super();
add(manager);
manager.add(new LabelField("Hello!", FIELD_RIGHT));
manager.add(new LabelField("This is a test", FIELD_RIGHT));
}
}
버전> = 4.6에서 기본 화면 관리자에게는 setbackGroud () 메소드를 사용할 수 있습니다.
class Scr extends MainScreen {
public Scr() {
super();
VerticalFieldManager manager =
(VerticalFieldManager)getMainManager();
manager.setBackground(
BackgroundFactory.createSolidBackground(
Color.DARKRED));
manager.add(new LabelField("Hello!", FIELD_RIGHT));
manager.add(new LabelField("This is a test", FIELD_RIGHT));
}
}
다른 팁
사용
new LabelField("",LabelField.USE_ALL_WIDTH | DrawStyle.RIGHT);
Labelfield의 페인트 방법을 무시하지 않고.
제휴하지 않습니다 StackOverflow