栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java:列表框

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java:列表框

列表框
  • 一、关键代码
  • 二、简单说明
  • 三、流程图
  • 四、源码
    • 一)源码A
    • 二)源码A的运行效果
  • 五、结语
  • 六、定位日期

一、关键代码
  • 创建列表框,选择元素的泛型(String)。
JList 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 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 model_1=new DefaultListModel<>();// 列表框的数据模型
		for(String tmp:items_1){
			model_1.addElement(tmp);// 向数组模型添加元素 Element(元素)
		}
		model_1.addElement("屋面层");// 向模型中继续添加元素,模型的好处如此
		
		JList jl_2=new JList<>();// 创建列表框
		jl_2.setModel(model_1);// 列表框载入数据

		
		//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 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的运行效果
  1. 默认运行效果,如下图:
  2. 程序编译有两个窗体,将最前面way3方法的窗体拉开,便可看到两个窗体,way2方法编译的窗体为左边的窗体,way3方法编译的窗体为右边的窗体。如下图:
  3. 在右边的窗体中,摁着“Ctrl”键,点选“楼层11”,“楼层12”,“楼层14”,点击“way3按钮”,运行效果如下:
  4. 在右边的窗体中,摁着“Ctrl”键,点选“楼层11”,“楼层13”,“屋面层”,点击“way3按钮”,运行效果如下:
五、结语

源码中几乎每行代码都有注释,直接看源码效果或许会更佳。学习无止境,那就努力吧。

六、定位日期

2022.5.2;22.23 源码,流程图的内容
2022.5.3;19:59

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854413.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号