写法一:
package Swing组件;
import javax.swing.*;
import java.awt.*;
public class Demo07 extends JFrame {
public Demo07(){
setBounds(100,100,300,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container c =getContentPane();
c.setLayout(null);
JComboBox<String> comboBox = new JComboBox<>();
comboBox.addItem("身份证");
comboBox.addItem("学生证");
comboBox.addItem("工作证");
comboBox.setBounds(10,10,80,20);
c.add(comboBox);
setVisible(true);
}
public static void main(String[] args) {
new Demo07();
}
}
运行结果:
方法二:
package Swing组件;
import javax.swing.*;
import java.awt.*;
public class Demo07 extends JFrame {
public Demo07(){
setBounds(100,100,300,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container c =getContentPane();
c.setLayout(null);
String items[] = {"数组元素1","数组元素2","数组元素3"}; //使用String添加下拉列表元素
JComboBox<String> comboBox = new JComboBox<>(items);
comboBox.setBounds(10,10,80,20);
c.add(comboBox);
setVisible(true);
}
public static void main(String[] args) {
new Demo07();
}
}
运行结果:
方法三:
package Swing组件;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeListener;
public class Demo07 extends JFrame {
public Demo07() {
setBounds(100, 100, 300, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(null);
JComboBox<String> comboBox = new JComboBox<>();
String items[] = {"身份证", "军人证", "护照"};
ComboBoxModel cm = new DefaultComboBoxModel<>(items); //创建下拉列表模型
comboBox.setModel(cm); // 向列表中添加数据模型
JButton btn = new JButton("打印");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("选中的索引:"+comboBox.getSelectedIndex()); // 获取选中的索引
System.out.println("选中的值:"+comboBox.getSelectedItem()); //获取选中的值
}
});
btn.setBounds(100,10,60,20);
c.add(btn);
comboBox.setBounds(10, 10, 80, 20);
c.add(comboBox);
setVisible(true);
}
public static void main(String[] args) {
new Demo07();
}
}
运行结果:
还可以设置对下拉框中的文字是否进行编辑操作
comboBox.setEditable(true);