JavaのSwingでコンボボックスを使うサンプルです。
コンボボックスで選んで、ボタンで選んだ内容をダイアログで表示してみました。
ポイント
- コンボボックスを生成します
- 配列をパラメータとして渡すと、配列の内容でコンボボックスが生成されます。
- ラベルとコンボボックスをJFrameに追加します
- getSelectedItem()で選択中のアイテムを取得できます。
実行結果
コンボボックスで設定した内容を選択できます。
OKボタンを押すと、選択した内容をダイアログで表示します。
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;
// ポイント1.コンボボックスを生成します
// 配列をパラメータとして渡すと、配列の内容でコンボボックスが生成されます。
// ポイント2.ラベルとコンボボックスをJFrameに追加します
// ポイント3.getSelectedItem()で選択中のアイテムを取得できます。
public class JComboBoxTest1 extends JFrame implements ActionListener {
public static void main(String[] args) {
new JComboBoxTest1();
}
// アクションリスナーから参照するためにクラス変数に置きます
JComboBox c1;
JComboBox c2;
public JComboBoxTest1() {
setTitle("コンボボックスを使ってみよう1");
setBounds(100, 100, 300, 140);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 今回はFlowLayoutを使ってみます
setLayout(new FlowLayout(FlowLayout.LEFT));
// ポイント1.コンボボックスを生成します
// 配列をパラメータとして渡すと、配列の内容でコンボボックスが生成されます。
c1 = new JComboBox(new String[] { "いちご", "バナナ", "みかん", "りんご" });
c2 = new JComboBox(new String[] { "ササニシキ", "コシヒカリ", "夢みずほ", "あきたこまち" });
JSeparator sp1 = new JSeparator(JSeparator.HORIZONTAL);
sp1.setPreferredSize(new Dimension(280, 0));
JSeparator sp2 = new JSeparator(JSeparator.HORIZONTAL);
sp2.setPreferredSize(new Dimension(280, 0));
JSeparator sp3 = new JSeparator(JSeparator.HORIZONTAL);
sp3.setPreferredSize(new Dimension(280, 3));
// ポイント2.ラベルとコンボボックスをJFrameに追加します
add(new JLabel(" 好きな果物 "));
add(c1);
add(sp1);
add(new JLabel(" 好きなお米 "));
add(c2);
add(sp2);
// ボタンを追加しましょう
JButton b = new JButton("OK");
b.addActionListener(this);
add(sp3);
add(new JLabel(" "));
add(b);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// ポイント3.getSelectedItem()で選択中のアイテムを取得できます。
// ボタンを押されたら、好きな果物とお米のダイアログを表示します。
JOptionPane.showMessageDialog(this, "好きな果物は『" + c1.getSelectedItem()
+ "』、好きなお米は『" + c2.getSelectedItem() + "』です。");
}
}
アフィリエイト ここまで
最終更新:2013年07月31日 00:25