2016-04-27 7 views
1

JCheckBoxシンボル(テキストプロパティではありません)の色を変更または変更する方法を教えてください。私はUIManager.put("CheckBox.selected", Color.RED)を成功裏にテストしています。JCheckBoxの「刻まれた」色を変更します。

誰かが助けることができますか?

+0

'' CheckBox.select "'を試してください。いくつかのUIデリゲートによって無視されます。 – trashgod

+1

'JCheckBox'は選択されたアイコンと選択されていないアイコンの両方に' icon'を使用します(どちらも設定する必要があります)。色を変更する唯一の方法はアイコンを変更することです – MadProgrammer

答えて

0
UIManager.put("CheckBox.focus",Color.RED); //on focus 
    UIManager.put("CheckBox.select",Color.RED) //on select 

    checkBox1.setForeground(Color.RED); //you can call this in the combobox action listner 
    checkbox1.setBackground(Color.Blue); //changing the background color 

このコードで確認できます。

+0

同じ動作です。私はWin7でJava 8.60を実行しています。 – BicaBicudo

+0

は、今すぐお試しできる答えにいくつかの変更を加えました – Priyamal

3

JCheckBoxは、「選択済み」および「選択解除」状態を表すのにiconおよびselectedIconを使用します。

あなただけの代わりにJCheckBoxの背景色を変更したいしたい場合はザ・のみ、...たとえば、独自のアイコンを使用することですあなたがそれらを変更することができ

CustomCheckBox

public class TestPane extends JPanel { 

    public TestPane() { 
     try { 
      JCheckBox cb = new JCheckBox(); 
      cb.setSelectedIcon(new ImageIcon(ImageIO.read(...))); 
      cb.setIcon(new ImageIcon(ImageIO.read(...))); 
      cb.setBackground(Color.RED); 
      cb.setOpaque(true); 
      add(cb); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 

} 

をしたいです彼らは、デフォルト

で透明にしているので、あなたは最初

cb.setBackground(Color.RED); 
cb.setOpaque(true); 

それを不透明にする必要があります

+0

ありがとうございます - 私が必要としていたのは不透明です。また、チェックボックスのラベルに余白などがないことを他の求職者にも報告します。だから、色の変化だけではなく、もっと精巧さが必要です。 _Nice_ – will

関連する問題