JButton の背景色の設定に問題があります。たとえば、私が行うときにこれを取得しますbutton.setBackground(Color.ORANGE)
しかし、GTK ルック アンド フィールを無効にすると問題ありません。背景を設定する別の方法は?ありがとう。
JButton の背景色の設定に問題があります。たとえば、私が行うときにこれを取得しますbutton.setBackground(Color.ORANGE)
しかし、GTK ルック アンド フィールを無効にすると問題ありません。背景を設定する別の方法は?ありがとう。
GTK ルック アンド フィールは、ボタンを視覚的に表示する独自の方法を定義するため、「button.setBackground(Color.ORANGE)」を使用すると、ボタンの背景の背景のみが変更され、GTK ルック アンド フィールは独自の (グレー) 表現を描画します。背景の上にあるボタン。
シンプルなオレンジ色のボタンが必要な場合は、ボタンの UI を独自のものに変更できます。次に例を示します。
public static void main ( String[] args )
{
JButton orangeButton = new JButton ( "X" );
orangeButton.setUI ( new MyButtonUI ());
}
private static class MyButtonUI extends BasicButtonUI
{
public void paint ( Graphics g, JComponent c )
{
JButton myButton = ( JButton ) c;
ButtonModel buttonModel = myButton.getModel ();
if ( buttonModel.isPressed () || buttonModel.isSelected () )
{
g.setColor ( Color.GRAY );
}
else
{
g.setColor ( Color.ORANGE );
}
g.fillRect ( 0, 0, c.getWidth (), c.getHeight () );
super.paint ( g, c );
}
}
このコード サンプルでは、押されたときにグレー、押されていないときにオレンジ色のボタンを作成します。もちろん、好きなように絵をスタイリングしたり、ボタンの表示を変更したりできます。