Windows ルック アンド フィールの Swing アプリケーションを使用していますが、JComboBox で苦労しています。それをクリックすると、デフォルトの Windows ボタンの色変更機能 (よく知られている Windows の氷のような青色) が適切に機能します。
ただし、隣接するフィールドをクリックしても、その色は変わりません。これは、2 つの列が接続されたカスタム テーブルであり、色の変更機能は JTextField と完全に連携します。
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (column == 0 || !isSelected || !table.hasFocus()) {
combobox.setForeground(table.getForeground());
combobox.setBackground(table.getBackground());
} else {
if (isSelected && table.hasFocus()) {
combobox.setForeground(table.getForeground());
combobox.setBackground(table.getSelectionBackground());
}
}
combobox.setFont(table.getFont());
combobox.getModel().setSelectedItem(value == null ? "" : value.toString());
return combobox;
}
今、これは機能しません。隣接するテキストフィールドをクリックすると、isSelected && table.hasFocus ブロックが実行されますが、コンボ ボックスの色は変わりません。の値
UIManager.getLookAndFeelDefaults().get("Button.background");
残り[240; 240; 240] コンボ ボックスを直接クリックすると、その色がアイス ブルーになってしまいます。
Windows の氷のような青色をトリガーするにはどうすればよいですか?