- 一、关键代码
- 二、简单说明
- 三、流程图
- 四、源码
- 一)源码A
- 二)源码A的运行效果
- 五、结语
- 六、定位日期
- 创建列表框,选择元素的泛型(String)。
JList<String> jl_2=new JList<>();// 创建列表框
注意: 需要添加包类:import javax.swing.JList;// 列表框
创建一个常规的窗口,窗口镶嵌容器。容器里添加列表框和按钮。使用按钮触发事件,以d出信息框。信息框的内容为列表框中选择的内容。列表框可以使用模型的方法。
三、流程图 四、源码 一)源码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;// 容器
/*
way1
窗体的基本属性
*/
void way1(){
f.setBounds(400,200,500,400);// 坐标、尺寸
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 点×即关闭
c=f.getContentPane();// 容器嵌入窗体
c.setLayout(null);// 初始不设置布局
}
/*
way2
列表框的创建
相关属性、功能
*/
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);// 向数组模型添加元素 Element(元素)
}
model_1.addElement("屋面层");// 向模型中继续添加元素,模型的好处如此
JList<String> jl_2=new JList<>();// 创建列表框
jl_2.setModel(model_1);// 列表框载入数据
/*
列表框选择模式
SINGLE_SELECTION 单选,single(单一的),selection(选择)
SINGLE_INTERVAL_SELECTION 只能选择相邻的元素,上一个和下一个,interval(间隔),
MULTIPLE_INTERVAL_SELECTION 随便选择,也是默认的。multiple(多个的)
*/
//jl_2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);// selection(选择),mode(方式)
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="选择的楼层为:";
// 获取列表框中的所以元素,values(值),selected(选择),util(工具包)
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();// 列表框的属性,表现方法2
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)