TOP →
Java →
Swing →
JComboBox → This Page
JComboBox@Swing サンプル06
概要
Java -
Swing -
JComboBox のサンプルです。
・項目の追加
・項目の削除
解説
コンボボックスの項目の追加、削除、変更を行うサンプルです。
DefaultComboBoxModel クラス
メソッド | 内容 |
addElement(Object anObject) |
末尾に項目を追加 |
insertElementAt(Object anObject, int index) |
指定インデックスに項目を追加 |
removeAllElements() |
全項目を削除 |
removeElementAt(int index) |
指定インデックスの項目を削除 |
サンプルイメージ
サンプルソース
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.BevelBorder;
/**
* JComboBox サンプル06
* ・項目の追加
* ・項目の削除
*
* @author みっちー
*/
public class JComboBox06 extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
/** コンボボックスモデル */
private DefaultComboBoxModel<String> cboModel = null;
/** リスト */
private JComboBox<String> comboBox = null;
/** テキスト */
private JTextField text = null;
/** ラベル */
private JLabel label = null;
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args) {
JComboBox06 frame = new JComboBox06();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("JComboBox サンプル06");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 400, 150);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public JComboBox06() {
// パネルを作成
JPanel panelBase = new JPanel();
// コンボボックスモデル
cboModel = new DefaultComboBoxModel<String>();
cboModel.addElement("AAAAA");
cboModel.addElement("BBBBB");
cboModel.addElement("CCCCC");
// コンボボックスを作成
comboBox = new JComboBox<String>(cboModel);
// テキストを作成
text = new JTextField();
text.setPreferredSize(new Dimension(80, 20));
// ラベルを作成
label = new JLabel();
label.setPreferredSize(new Dimension(160, 20));
label.setBorder(new BevelBorder(BevelBorder.LOWERED));
// ボタンを作成
JButton button1 = new JButton("addElement");
JButton button2 = new JButton("insertElementAt");
JButton button3 = new JButton("removeElementAt");
JButton button4 = new JButton("removeAllElements");
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
// コンボボックス、テキスト、ラベル、ボタンを追加
panelBase.add(comboBox);
panelBase.add(text);
panelBase.add(label);
panelBase.add(button1);
panelBase.add(button2);
panelBase.add(button3);
panelBase.add(button4);
// パネルを追加
getContentPane().add(panelBase);
}
/**
* イベント
*
* @param e イベント
*/
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
label.setText("");
if (cmd.equals("addElement")) {
// 末尾に追加
if (text.getText().equals("")) {
label.setText("テキストが空です");
return;
}
cboModel.addElement(text.getText());
} else if (cmd.equals("insertElementAt")) {
// 選択行の次に追加
if (text.getText().equals("")) {
label.setText("テキストが空です");
return;
}
if (cboModel.getSize() == 0) {
cboModel.insertElementAt(text.getText(), 0);
} else {
cboModel.insertElementAt(text.getText(), comboBox.getSelectedIndex());
}
} else if (cmd.equals("removeElementAt")) {
// 選択項目を削除
if (cboModel.getSize() != 0) {
cboModel.removeElementAt(comboBox.getSelectedIndex());
} else {
label.setText("未選択です");
}
} else if (cmd.equals("removeAllElements")) {
// 全項目を削除
cboModel.removeAllElements();
}
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/05/13 Windows 8.1 + Java 7 環境で全体を見直し
2008/01/25 新規作成
TOP →
Java →
Swing →
JComboBox → This Page