1

L&Fがメタルの場合にJComboBoxで使用されるデフォルトの色を上書きしようとしています。UIManagerで以下をカスタムカラーにオーバーライドしました。

  • ComboBox.font
  • ComboBox.selectionBackground
  • ComboBox.buttonShadow
  • ComboBox.buttonHighlight
  • ComboBox.disabledBackground

  • コントロール
  • controlDkShadow
  • controlHighlight
  • controlLtHighlight
  • controlShadow

ただし、テキストの周りの水色の長方形を削除することはできません

これを変更する方法はありますか?

代替テキスト

4

2 に答える 2

4

これを行うには、ルックアンドフィールでComboBoxUIを置き換える必要があります。UIDefaultsの色ですべてが制御されるわけではありません。*UIクラスは実際の描画を行います。

于 2009-08-28T12:45:29.847 に答える
2

コンボボックス全体(ボタンとテキスト)を囲む水色の境界線について話している場合。これを実現するには、UIManagerのプロパティ「Combobox.border」をnullまたは別の境界線に設定します。

主題をさらに詳しく調べたい場合は、javax.swingx.BasicComboBoxUIを見てください。そもそもここにボーダーが設置されています。メソッド「installDefaults」を検索します。このメソッドは、javax.swing.LookAndFeelへの静的呼び出しを使用して境界線をインストールします。

于 2009-08-28T12:42:45.430 に答える