3

ダイアログのボタンからこの灰色の境界線を削除するにはどうすればよいですか?ここに画像の説明を入力

シンプルな JButtons の場合、私は解決策を見つけました - ただ使用しますbutton.setFocusPainted(false); しかし、すべてのダイアログのすべてのボタンに対して同じことを実行する簡単な方法はありますか? UIManager のプロパティを調べてみましたが、適切なパラメータがないようです。 ここに画像の説明を入力

前もって感謝します!

4

3 に答える 3

8
  • JButtons APIあなたが使用することができJButton.setFocusable()ますからJButton.setBorderPainted(false);

  • from UIManagerhave to override key (JVM インスタンス全体で有効)

.

UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("Button.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
  • Colorwith transparency(am code の 4 番目のパラメーター) を別のより適切なに変更することをColorお勧めします。
于 2012-11-16T19:09:26.947 に答える
4

どうですか

JButton.setFocusPainted(false)
于 2014-03-20T18:13:00.140 に答える
1

これはグローバルな修正であるため、すべてのコントロールに対して手動で行う必要はありません。私の他の投稿から:JButtonフォーカスボーダーを無効にする

        // Removes the dotted border around controls which is not consistent with Windows
        UIManager.put("Button.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
        UIManager.put("ToggleButton.focus", new ColorUIResource(new Color(0, 0, 0, 0)));

        // ways to remove it from other controls...
        UIManager.put("CheckBox.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
        UIManager.put("TabbedPane.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
        UIManager.put("RadioButton.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
        UIManager.put("Slider.focus", new ColorUIResource(new Color(0, 0, 0, 0)));

        // figure out combobox
        UIManager.put("ComboBox.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
于 2016-02-02T06:27:59.200 に答える