1
ペインタでボタンのセットを作成します。私は最初のボタンがよくあったされてフォームに2つのボタンを挿入した場合、私は次のコードlwuitペインタの使い方
class ListButton extends Button{
int id;
ListButton(int id, final Image unsel, final Image sel, final Image pres) {
this.id = id;
getUnselectedStyle().setBgTransparency(255);
getSelectedStyle().setBgTransparency(255);
getPressedStyle().setBgTransparency(255);
getUnselectedStyle().setAlignment(Component.LEFT);
getSelectedStyle().setAlignment(Component.LEFT);
getPressedStyle().setAlignment(Component.LEFT);
getUnselectedStyle().setBgPainter(new Painter(){
public void paint(Graphics graphics, Rectangle rectangle) {
graphics.drawImage(buttonBgImage, 0, 0);
int w= rectangle.getSize().getWidth();
int h= rectangle.getSize().getHeight();
graphics.drawImage(unsel, w- unsel.getWidth()-10, (h- unsel.getHeight())/2+ 3);
}
});
getSelectedStyle().setBgPainter(new Painter(){
public void paint(Graphics graphics, Rectangle rectangle) {
graphics.drawImage(buttonBgImage, 0, 0);
int w= rectangle.getSize().getWidth();
int h= rectangle.getSize().getHeight();
graphics.drawImage(sel, w- sel.getWidth()-10, (h- sel.getHeight())/2+ 3);
}
});
getPressedStyle().setBgPainter(new Painter(){
public void paint(Graphics graphics, Rectangle rectangle) {
graphics.drawImage(buttonBgImage, 0, 0);
int w= rectangle.getSize().getWidth();
int h= rectangle.getSize().getHeight();
graphics.drawImage(pres, w- pres.getWidth()-10, (h- pres.getHeight())/2+ 3);
}
});
}
}
を書きました。 2番目のボタンは背景画像なし(buttonBgImage)で、アイコンなし(sel、unselまたはpres)です。私はそれがいくつかのコンテナに挿入される場合、2番目のボタンがペイントされることをランダムに発見しました。どのような奇妙な行動ですか?私の英語には申し訳ありません。