Java——列表框:JList
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Vector; import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JRadioButton;
import javax.swing.ListSelectionModel; //=================================================
// File Name : JList_demo
//------------------------------------------------------------------------------
// Author : Common //类名:MyList
//属性:
//方法:
class MyList{
private JFrame frame = new JFrame("窗体"); //定义窗体
private Container cont = frame.getContentPane(); //得到窗体容器
private JList list1 = null; //定义列表框
private JList list2 = null; //定义列表框
public MyList(){
this.frame.setLayout(new GridLayout(1,3)); //定义排版,1行2列
String nations[] = {"中国","美国","韩国","法国","英国"};
Vector<String> v = new Vector<String>(); //定义一个Vector集合
v.add("Vector1");
v.add("Vector2");
v.add("Vector3");
this.list1 = new JList(nations); //实例化JList
this.list2 = new JList(v); //实例化JList
//定义一个列表框的边框显示条
list1.setBorder(BorderFactory.createTitledBorder("哪个国家?"));
list2.setBorder(BorderFactory.createTitledBorder("Vector?"));
//第一个列表框一次可以选择多个选项
list1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
//第二个列表框每次可以选择一个选项
list2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
cont.add(this.list1); //加入面板
cont.add(this.list2); //加入面板
this.frame.setSize(330,200);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
}
} //主类
//Function : JList_demo
public class JList_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyList();
} }
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Vector; import javax.swing.AbstractListModel;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.ListSelectionModel; //=================================================
// File Name : JModel_demo
//------------------------------------------------------------------------------
// Author : Common //类名:MyListModel
//属性:
//方法:
class MyListModel extends AbstractListModel{ private String nations[] = {"中国","美国","韩国","法国","英国"}; @Override
public int getSize() {
// TODO 自动生成的方法存根
return this.nations.length;
} @Override
public Object getElementAt(int index) { //返回指定标号的元素
// TODO 自动生成的方法存根
if(index<this.nations.length){
return this.nations[index];
}else{
return null;
}
}
} //类名:MyList
//属性:
//方法:
class myList{
private JFrame frame = new JFrame("窗体"); //定义窗体
private Container cont = frame.getContentPane(); //得到窗体容器
private JList list1 = null; //定义列表框
private JList list2 = null; //定义列表框
public myList(){
this.list1 = new JList(new MyListModel());
this.list2 = new JList(new MyListModel());
//定义一个列表框的边框显示条
list1.setBorder(BorderFactory.createTitledBorder("哪个国家?"));
list2.setBorder(BorderFactory.createTitledBorder("Vector?"));
//第一个列表框一次可以选择多个选项
list1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
//第二个列表框每次可以选择一个选项
list2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
cont.add(this.list1); //加入面板
cont.add(this.list2); //加入面板
this.frame.setSize(330,200);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
}
} //主类
//Function : JModel_demo
public class JModel_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyList();
} }
监听只能加一个
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Vector; import javax.swing.AbstractListModel;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener; //=================================================
// File Name : JModel_demo
//------------------------------------------------------------------------------
// Author : Common //类名:MyListModel
//属性:
//方法:
class MyListModel extends AbstractListModel{ private String nations[] = {"中国","美国","韩国","法国","英国"}; @Override
public int getSize() {
// TODO 自动生成的方法存根
return this.nations.length;
} @Override
public Object getElementAt(int index) { //返回指定标号的元素
// TODO 自动生成的方法存根
if(index<this.nations.length){
return this.nations[index];
}else{
return null;
}
}
} //类名:MyList
//属性:
//方法:
class myList implements ListSelectionListener{
private JFrame frame = new JFrame("窗体"); //定义窗体
private Container cont = frame.getContentPane(); //得到窗体容器
private JList list1 = null; //定义列表框
// private JList list2 = null; //定义列表框
public myList(){
this.list1 = new JList(new MyListModel());
// this.list2 = new JList(new MyListModel());
//定义一个列表框的边框显示条
list1.setBorder(BorderFactory.createTitledBorder("哪个国家?"));
// list2.setBorder(BorderFactory.createTitledBorder("Vector?"));
//第一个列表框一次可以选择多个选项
list1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
//第二个列表框每次可以选择一个选项
// list2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); list1.addListSelectionListener(this); //加入事件监听
// list2.addListSelectionListener(this); //加入事件监听
cont.add(new JScrollPane(this.list1)); //加入滚动条 cont.add(this.list1); //加入面板
// cont.add(this.list2); //加入面板
this.frame.setSize(330,200);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter(){ //加入事件监听
public void windowClosing(WindowEvent arg0) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
} public void valueChanged(ListSelectionEvent e) {
// TODO 自动生成的方法存根
int temp[] = list1.getSelectedIndices(); //取得全部选定
System.out.println("选定的内容:");
for(int i=0;i<temp.length;i++){
System.out.println(list1.getModel().getElementAt(i)+"、");
}
}
} //主类
//Function : JModel_demo
public class JModel_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new myList();
} }
Java——列表框:JList的更多相关文章
- 下拉列表JComboBox,列表框JList
1.下拉列表JComboBox public class Demo extends JFrame { public Demo() { setBounds(100, 100, 200, 100); se ...
- Java Swing编程接口(30)---列表框:JList
列表框同时可以在信息呈现给用户的列表多个选项,使用JList能够建立一个列表框. package com.beyole.util; import java.awt.Container; import ...
- JPasswordField密码框,JList列表框
[JPasswordField密码框] //导入Java类 import javax.swing.*; import java.awt.*; import java.awt.event.ActionE ...
- java图形用户界面之列表框
列表框通过Swing组件JList产生,其总是在屏幕上占据固定行数的空间.如果要得到列表框中被选中的元素,只需调用getSelectedValuesList(),它可以产生一个字符串数组,内容为被选中 ...
- java在线聊天项目1.3版 ——设计好友列表框功能
设计好友列表框功能,思路—— 1.当客户端成功登陆后,则客户端把成功登陆信息发送给服务端, 2.由服务端将接收到来自各个成功登陆的客户端的用户信息添加进好友列表, 3.每当有成功登陆的用户就向各个客户 ...
- Java开发笔记(一百三十一)Swing的列表框
前面介绍了选择框的用法,当时为了方便用户勾勾点点,无论是复选框还是单选按钮,统统把所有选项都摆在界面上.倘若只有两三个选项还好办,要是选项数量变多比如超过五个,这么多的选择框一齐在界面罗列,不光程序员 ...
- Java-GUI 编程之 JList、JComboBox实现列表框
目录 JList.JComboBox实现列表框 简单列表框 不强制存储列表项的ListModel和ComboBoxModel 强制存储列表项的DefaultListModel和DefaultCombo ...
- java界面编程(9) ------ 列表框
本文是自己学习所做笔记,欢迎转载.但请注明出处:http://blog.csdn.net/jesson20121020 列表框和JComboBox组合框明显不同,这不不过体如今外观上. 当激活JCom ...
- java列表组件鼠标双击事件的实现
Swing中提供两种列表组件,分别是列表框(JList)和组合框(JComboBox). 一.JList组件 构造方法: public JList():构造一个空的.具有只读模型的JList.publ ...
随机推荐
- ajax+FormData+javascript实现无刷新表单信息提交
ajax+FormData+javascript实现无刷新表单信息提交 原理: dom收集表单信息,利用FormData快速收集表单信息 ,实例化表单数据对象 同时收集fm的表单域信息. var f ...
- json注意:
import json #dct="{'1':111}"#json 不认单引号 #dct=str({"1":111})#报错,因为生成的数据还是单引号:{'on ...
- 一个Activity掌握Design新控件 (转)
原文地址:http://blog.csdn.net/lavor_zl/article/details/51295364 谷歌在推出Android5.0的同时推出了全新的设计Material Desig ...
- 基于tomcat-jQ-springMVC-bootstrap的公司产品管理WEB应用
管理员登录后台以后才能操作 ,权限管理只有一个管理员, 系统的主要作用是查看所有的 “公司列表”, 并查看该公司的”产品“, 用户可以对该公司的产品进行添加或者删除, 添加或者删除公司等 , 添加产品 ...
- 02python算法-递推
递推 1什么是递推?:根据已有节点的值,以及规律推出之后节点的值 2为什么要用递推:简单的解决有规矩事件 3怎么用?: 我们举个经典的例子: 如果1对兔子每月能生1对小兔子,而每对小兔在它出生后的第3 ...
- 将代码托管到OSChina服务器上
前言:前面的文章已经介绍过了如何将代码托管到github的服务器.并且笔者也详细的介绍了使用HTTPS和SSH两种不同的身份验证方式.但是仅仅介绍github的使用是不够的,原因笔者已经在前面的文章中 ...
- mybatis下报错:元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap
今天使用别人的代码报错,但是有时又不报错原来是配置文件的顺序要遵守 注意 "必须匹配" 四个字, 其意味着顺序很重要, 必须要一致, 试试将 resultMap 中各元素的顺序修改 ...
- 一个千万量级的APP使用的一些第三方库
转载:http://www.jianshu.com/p/dc8c05cf693d .背景 前段时间在调研第三方推送服务的时候,反编译了一部分市面上比较流行的APP.其中一个无论是在设计还是功能上都堪称 ...
- Java多线程与并发库高级应用-传统线程互斥技术
线程安全问题: 多个线程操作同一份数据的时候,有可能会出现线程安全问题.可以用银行转账来解释. 模拟线程安全问题 /** * 启动两个线程分别打印两个名字,名字按照字符一个一个打印 * * @aut ...
- 【BZOJ-1911】特别行动队 DP + 斜率优化
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 3478 Solved: 1586[Submit][Statu ...