一、关键代码
JList<String> jl_2=new JList<>();
注意: 需要添加包类:import javax.swing.JList;// 列表框
二、简单说明
创建一个常规的窗口,窗口镶嵌容器。容器里添加列表框和按钮。使用按钮触发事件,以弹出信息框。信息框的内容为列表框中选择的内容。列表框可以使用模型的方法。
三、流程图
以触发运行效果
窗体
容器
其他组件
列表框
只能单选元素
只能选择相邻元素
可任意选择元素
按钮
数组元素
可选模型方法
另外再插入元素
数组元素
监听器
事件
信息框
四、源码
一)源码A
import java.awt.Container;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.DefaultListModel;
import javax.swing.ListSelectionModel;
import javax.swing.JButton;
import javax.swing.JOptionPane;
class Demo{
JFrame f=new JFrame();
Container c;
void way1(){
f.setBounds(400,200,500,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c=f.getContentPane();
c.setLayout(null);
}
void way2(){
String items_1[]={"楼层1","楼层2","楼层3","楼层4","楼层5","楼层6"};
JList<String> jl_1=new JList<>(items_1);
JScrollPane jsp_1=new JScrollPane(jl_1);
jsp_1.setBounds(40,20,100,80);
c.add(jsp_1);
}
void way3(){
String items_1[]={"楼层11","楼层12","楼层13","楼层14","楼层15","楼层16"};
DefaultListModel<String> model_1=new DefaultListModel<>();
for(String tmp:items_1){
model_1.addElement(tmp);
}
model_1.addElement("屋面层");
JList<String> jl_2=new JList<>();
jl_2.setModel(model_1);
JScrollPane jsp_2=new JScrollPane(jl_2);
jsp_2.setBounds(40,20,100,80);
c.add(jsp_2);
JButton btn_1=new JButton("way3窗体");
btn_1.setBounds(160,20,100,40);
btn_1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg_0){
String tmp_0="选择的楼层为:";
java.util.List<String> values=jl_2.getSelectedValuesList();
for(String tmp:values){
tmp_0=tmp_0+"\n"+tmp;
}
JOptionPane.showMessageDialog(f,tmp_0+"\n---运行完毕---");
}
});
c.add(btn_1);
}
public static void main(String[] args) {
Demo d=new Demo();
d.way1();
d.way2();
Demo d_2=new Demo();
d_2.way1();
d_2.way3();
d.f.setVisible(true);
d_2.f.setVisible(true);
}
}
二)源码A的运行效果
- 默认运行效果,如下图:
- 程序编译有两个窗体,将最前面way3方法的窗体拉开,便可看到两个窗体,way2方法编译的窗体为左边的窗体,way3方法编译的窗体为右边的窗体。如下图:
- 在右边的窗体中,摁着“Ctrl”键,点选“楼层11”,“楼层12”,“楼层14”,点击“way3按钮”,运行效果如下:
- 在右边的窗体中,摁着“Ctrl”键,点选“楼层11”,“楼层13”,“屋面层”,点击“way3按钮”,运行效果如下:
五、结语
源码中几乎每行代码都有注释,直接看源码效果或许会更佳。学习无止境,那就努力吧。
六、定位日期
2022.5.2;22.23 源码,流程图的内容 2022.5.3;19:59
|