JCheckBoxコンポーネントをJComboBoxesに追加できますか?もしそうなら、どうですか?JCheckBoxコンポーネントをJComboBoxに追加できますか?
2
A
答えて
3
JComboBoxesをJComboBoxesにジミーする方法はありますが、JComboBoxesはセルエディタを使用せず、レンダラーのみを使用するため、JTableで使用するほど簡単ではありません。 JComboCheckBox
、ここを::これを行うにはCheck Boxes in a Combobox
1
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CheckCombo implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JComboBox cb = (JComboBox)e.getSource();
CheckComboStore store = (CheckComboStore)cb.getSelectedItem();
CheckComboRenderer ccr = (CheckComboRenderer)cb.getRenderer();
ccr.checkBox.setSelected((store.state = !store.state));
}
private JPanel getContent()
{
String[] ids = { "north", "west", "south", "east" };
Boolean[] values =
{
Boolean.TRUE, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE
};
CheckComboStore[] stores = new CheckComboStore[ids.length];
for(int j = 0; j < ids.length; j++)
stores[j] = new CheckComboStore(ids[j], values[j]);
JComboBox combo = new JComboBox(stores);
combo.setRenderer(new CheckComboRenderer());
combo.addActionListener(this);
JPanel panel = new JPanel();
panel.add(combo);
return panel;
}
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new CheckCombo().getContent());
f.setSize(300,160);
f.setLocation(200,200);
f.setVisible(true);
}
}
/** adapted from comment section of ListCellRenderer api */
class CheckComboRenderer implements ListCellRenderer
{
JCheckBox checkBox;
public CheckComboRenderer()
{
checkBox = new JCheckBox();
}
public Component getListCellRendererComponent(JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
{
CheckComboStore store = (CheckComboStore)value;
checkBox.setText(store.id);
checkBox.setSelected(((Boolean)store.state).booleanValue());
checkBox.setBackground(isSelected ? Color.red : Color.white);
checkBox.setForeground(isSelected ? Color.white : Color.black);
return checkBox;
}
}
class CheckComboStore
{
String id;
Boolean state;
public CheckComboStore(String id, Boolean state)
{
this.id = id;
this.state = state;
}
}
+0
誰もが望んでいるとは思いません。リスト内でキーボードを使って移動してください – kleopatra
関連する問題
- 1. JTableでJCheckBoxを追加する方法
- 2. jcheckboxに枠を追加する
- 3. アクションリストをJavaのjcheckboxに追加
- 4. javaデータベースからJcomboBoxにアイテムを追加
- 5. ユーザーが同じjcomboboxのjcomboboxに入力する項目を追加することはできますか?
- 6. JComboBoxにリストを追加するには?
- 7. JComboBoxにアクションリスナーを追加する
- 8. 空のJcomboBoxにベクトルを追加する
- 9. JCheckBoxオブジェクトにアイテムリスナーを追加しようとしています
- 10. Primefacesコンポーネントを動的に追加/削除できますか?
- 11. JTableでJCheckBoxを動的に追加する必要があります
- 12. コンポーネントにイベントリスナーを追加し、そのコンポーネントをパネルまたはフレームに追加する順序は何ですか?
- 13. TLFにUIコンポーネントを追加できます
- 14. JDialogでコンポーネントをどのように動的に追加できますか?
- 15. Angular2でサービス経由でコンポーネントにCSSを追加できますか?
- 16. カスタムDelphiコンポーネントでuses句に複数の単位を追加できますか?
- 17. jcomboBoxに値を追加中にエラーが発生する
- 18. JComboBoxにアイテムを動的に追加する
- 19. コンポーネントをGroupLayout内のグループに動的に追加できますか?
- 20. Android Xamarinにコンポーネントを追加できません
- 21. PrimeNG Datatableは行にコンポーネントを追加できません
- 22. レイアウトにコンポーネントを追加できません
- 23. 子コンポーネントのオブジェクトに.onClickメソッドを追加できません。
- 24. 複数のコンポーネント行を変数に追加できません
- 25. ボタンプレスにコンポーネントを追加することはできますか?ここ
- 26. 角2コンポーネント内に入れ子コンポーネントを追加できません
- 27. FlexでCoverFlowにコンポーネントを追加する
- 28. JComboBoxの中に項目を追加する方法
- 29. JComboBoxに背景画像を追加する
- 30. PropertyChangeListenerを複数のJComboBoxに追加する
使用 'CellRenderer'こちらをご確認ください
JCheckBoxをJComboBoxに追加するとどういう意味ですか?達成したいのは何ですか? –
私はJComboBoxを持っています。つまり、そのJComboBoxリストからいくつかの項目を選択する必要がある項目のリストです。 –