import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Main extends JFrame{
public Main() {
setBounds(200, 200, 500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
Container c = getContentPane();
c.setLayout(null);//绝对布局
//第一部分列表框组件
//第一种列表框
// String items[] = {"数组元素1","数组元素2","数组元素3","数组元素4","数组元素5","数组元素6","数组元素7"};
// JList<String> l = new JList<>(items);
// JScrollPane s = new JScrollPane(l);//为列表框添加滚动条
// s.setBounds(10, 10, 100, 100);//设定坐标和大小
// c.add(s);
//第二种使用模型的列表框
String items[] = {"数组元素1","数组元素2","数组元素3","数组元素4","数组元素5","数组元素6","数组元素7"};
JList<String> l = new JList<>();//列表框组件
DefaultListModel<String> model = new DefaultListModel<>();//列表框的数据模型
for(String tmp:items) {//foreach方法遍历数组
model.addElement(tmp);//向数据模型中添加数据
}
// model.addElement("添加新元素");//数据模型中添加新元素
l.setModel(model);//列表载入数据模型
/*
* SINGLE_SELECTION:单选
* SINGLE_INTERVAL_SELECTION:只能连续选择相邻的元素
* MULTIPLE_INTERVAL_SELECTION:随便选
*/
l.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);//设置选择模式(选择时,应该按住ctrl键,单点鼠标无效)
JButton button = new JButton("打印");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent var1) {
//获取列表框中所有选中的所有元素
java.util.List<String> values = l.getSelectedValuesList();
for(String temp : values) {
System.out.println(temp);
}
System.out.println("_______end______");
}
});
button.setBounds(200, 10, 60, 20);
c.add(button);
JScrollPane s = new JScrollPane(l);//为列表框添加滚动条
s.setBounds(10, 10, 100, 100);//设定坐标和大小
c.add(s);
//第二部分下拉列表框组件
//第一种下拉列表的方式
/*JComboBox<String> b = new JComboBox<>();
b.addItem("身份证");//下拉列表的添加数据
b.addItem("学生证");
b.addItem("工作证");
b.setBounds(10, 10, 100, 21);//设定坐标(x,y)和大小(width,height)
c.add(b);*/
//第二种下拉列表的方式
/*String items[] = {"数组元素1","数组元素2","数组元素3"};
JComboBox<String> b = new JComboBox<>(items);//使用String添加下拉列表元素
b.setBounds(10, 10, 100, 21);//设定坐标(x,y)和大小(width,height)
c.add(b);*/
//第三种下拉列表的方式
/* JComboBox<String> b = new JComboBox<>();
String items[] = {"数组元素1","数组元素2","数组元素3"};
ComboBoxModel cm = new DefaultComboBoxModel<>(items);//创建下拉列表模型
b.setModel(cm);//向列表中添加数据模型
JButton button = new JButton("打印");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent var1) {
// TODO 自动生成的方法存根
System.out.println("选中元素的索引:"+b.getSelectedIndex());//获取选中元素的索引
System.out.println("选中的值:"+b.getSelectedItem());//获取选中的值
}
});
button.setBounds(200, 10, 60, 20);
c.add(button);
b.setEditable(true);//是否可以编辑
b.setBounds(10, 10, 100, 21);//设定坐标(x,y)和大小(width,height)
c.add(b);*/
}
public static void main(String[] args) {
new Main();
}
}
列表组件(JList列表框和JComboBox下拉列表框组件)(简单代码例子实现)
最新推荐文章于 2022-02-13 14:46:01 发布