当前位置 : IT培训网 > Java开发 > Java教程 > 对Java语言中列表和组合框的认识

对Java语言中列表和组合框的认识

时间:2016-09-02 14:31:16  来源:Java培训网  作者:IT培训网  已有:名学员访问该课程
标签(Tag):   java语言(263)
列表(JList)在界面中表现为列表框,是JList类或它的子类的对象。程序可以在列表框中加入多个文本选择项条目。列表事件的事件源有两种:一是鼠标双击某个选项:双击选项是动作事件,与该事件相关的接口是ActionListener,注册监视

关于Java方面的界面知识点我们已经讲过很多了,不知道大家掌握了多少呢,由于课程太多,还希望考生抓紧学习啊,下面就让我们一起来看看Java语言中列表和组合框方面的知识点吧!

列表和组合框是又一类供用户选择的界面组件,用于在一组选择项目选择,组合框还可以输入新的选择。

列表

列表(JList)在界面中表现为列表框,是JList类或它的子类的对象。程序可以在列表框中加入多个文本选择项条目。列表事件的事件源有两种:

一是鼠标双击某个选项:双击选项是动作事件,与该事件相关的接口是ActionListener,注册监视器的方法是addActionListener(),接口方法是actionPerformed(ActionEvent e)。

二是鼠标单击某个选项:单击选项是选项事件,与选项事件相关的接口是ListSelectionListener,注册监视器的方法是addListSelectionListener,接口方法是valueChanged(ListSelectionEvent e)。

JList 类的常用构造方法:

JList():建立一个列表。

JList(String list[]):建立列表,list是字符串数组,数组元素是列表的选择条目。

JList类的常用方法:

getSelectedIndex():获取选项的索引。返回最小的选择单元索引;只选择了列表中单个项时,返回该选择。

getSelectedValue():获取选项的值。

getSelectedIndices():返回所选的全部索引的数组(按升序排列)。

getSelectedValues(),:返回所有选择值的数组,根据其列表中的索引顺序按升序排序。

getItemCount():获取列表中的条数。

setVisibleRowCount(int n):设置列表可见行数。

setSelectionMode(int seleMode):设置列表选择模型。选择模型有单选和多选两种。

单选:ListSelectionModel.SINGLE_SELECTION.

多选:ListSelectionModel.MULTIPLE.INTERVAL_SELECTION.

remove(int n):从列表的选项菜单中删除指定索引的选项。

removeAll():删除列表中的全部选项。

列表可以添加滚动条,列表添加滚动条的方法是先创建列表,然后再创建一个JScrollPane滚动面板对象,在创建滚动面板对象时指定列表。以下代码示意为列表list2添加滚动条:

    JScrollPane jsp = new JScrollPane(list2);

【例 11-13】小应用程序有两个列表,第一个列表只允许单选,第二个列表允许多选。

import java.applet.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

class MyWindow extends JFrame implements ListSelectionListener{

    JList list1,list2;

    String news[]={"人民日报","新民晚报","浙江日报","文汇报"};

    String sports[]={"足球","排球","乒乓球","篮球"};

    JTextArea text;

    MyWindow(String s){

        super(s);

        Container con = getContentPane();

        con.setBackground(Color.BLUE);

        con.setLayout(new GridLayout(2,2));

        con.setSize(200,500);

        list1 = new JList(news);

        list1.setVisibleRowCount(3);

        list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        list1.addListSelectionListener(this);

        list2 = new JList(sports);

        list2.setVisibleRowCount(2);

        list2.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

        list2.addListSelectionListener(this);

        con.add(list1);

        con.add(list2);

        text= new JTextArea(10,20);

        con.add(text);

        this.setVisible(true);

        this.pack();

    }

    public void valueChanged(ListSelectionEvent e){// 每当选择值发生更改时调用

        if(e.getSource()==list1){

            text.setText(null);

            Object listValue = ((JList) e.getSource()).getSelectedValue();

            String seleName = listValue.toString();

            for(int i=0;i<news.length;i++)

                if(news[i].equals(seleName)){

                    text.append(seleName+ "被选中\n");

                }

        }

        else if(e.getSource()==list2){

            text.setText(null);

            int tempList[] =list2.getSelectedIndices();

            for(int i=0;i<tempList.length;i++)

                text.append(sports[tempList[i]] + "被选中\n");

         }

     }

 }

public class Example6_3 extends Applet{

    MyWindow myWin = new MyWindow("列表示例");

}

组合框

组合框(JComboBox)是文本框和列表的组合,可以在文本框中输入选项,也可以单击下拉按钮从显示的列表中进行选择。

组合框的常用构造方法:

JComboBox():建立一个没有选项的JComboBox对象。

JComboBox(JComboBoxModel aModel):用数据模型建立一个JComboBox对象。

JComboBox(Object[]items):利用数组对象建立一个JComboBox对象。

组合框的其他常用方法有以下几个:

addItem(Object obj):向组合框加选项。

getItemCount():获取组合框的条目总数。

removeItem(Object ob):删除指定选项。

removeItemAt(int index):删除指定索引的选项。

insertItemAt(Object ob,int index):在指定的索引处插入选项。

getSelectedIndex():获取所选项的索引值(从0开始)。

getSelectedItem():获得所选项的内容。

setEditable(boolean b):设为可编辑。组合框的默认状态是不可编辑的,需要调用本方法设定为可编辑,才能响应选择输入事件。

在JComboBox对象上发生事件分为两类。一是用户选定项目,事件响应程序获取用户所选的项目。二是用户输入项目后按回车键,事件响应程序读取用户的输入。第一类事件的接口是ItemListener;第二类事件是输入事件,接口是ActionListener。

【例 11-14】一个说明组合框用法的应用程序。程序中声明的组合框子类实现ItemLister接口和ActionListener接口。组合框子类的窗口中设置了一个文本框和一个组合框,组合框中有三个选择。实现接口的监视方法将组合框的选择结果在文本框中显示。

public class Example6_4{

    public static void main(String args[]){

        ComboBoxDemo mycomboBoxGUI = new ComboBoxDemo();

    }

}

class ComboBoxDemo extends JFrame implements ActionListener,ItemListener{

    public static final int Width = 350;

    public static final int Height = 150;

    String proList[] = { "踢足球","打篮球","打排球" };

    JTextField text;

    JComboBox comboBox;

    public ComboBoxDemo(){

        setSize(Width,Height);

        setTitle("组合框使用示意程序");

        Container conPane = getContentPane();

        conPane.setBackground(Color.BLUE);

        conPane.setLayout(new FlowLayout());

        comboBox = new JComboBox(proList);

        comboBox.addActionListener(this);

        combobox.addItemListener(this);

        comboBox.setEditable(true);//响应键盘输入

        conPane.add(comboBox);

        text = new JTextField(10);

        conPane.add(text);

        this.setVisible(true);

    }

    public void actionPerformed(ActionEvent e){

        if(e.getSource()==comboBox)

            text.setText(comboBox.getSelectedItem().toString());

    }

    public void itemStateChanged(ItemEvent e){

        if(e.getSource()==comboBox){

            text.setText(comboBox.getSelectedItem().toString());

        }

    }

}

 

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
Java教程
1、Java 概述
1.1 Java语言概述
1.2 Java虚拟机以及跨平台原理
1.3 Java的主要就业方向
1.4 Java的不同版本
1.5 Java开发环境搭建
1.6 第一个Java程序示例
1.7 Java类和对象的概念
1.8 Java类库及其组织结构
1.9 Java import
2、Java 语法基础
2.1 Java数据类型以及变量的定义
2.2 Java数据类型转换
2.3 Java运算符
2.4 Java流程控制
2.5 Java数组的定义和使用
2.6 Java字符串(String)
2.7 Java StringBuffer与StringBuider
2.8 强调一下编程风格
3、Java 类与对象
3.1 Java类的定义及其实例化
3.2 Java访问修饰符
3.3 Java变量的作用域
3.4 Java this关键字详解
3.5 Java方法重载
3.6 Java类的基本运行顺序
3.7 Java包装类、拆箱和装箱详解
3.8 再谈Java包
3.9 源文件的声明规则
4、Java 继承和多态
4.1 继承的概念与实现
4.2 Java super关键字
4.3 继承中的方法的覆盖和重载
4.4 多态和动态绑定
4.5 instanceof 运算符
4.6 多态对象的类型转换
4.7 Java static关键字
4.8 Java final关键字
4.9 Java Object类
5、面向对象高级特性
5.1 Java内部类及其实例化
5.2 内部类的分类
5.3 抽象类的概念和使用
5.4 接口的概念和使用
5.5 接口和抽象类的区别
5.6 Java 泛型
5.7 泛型通配符和类型参数的范围
6、异常处理
6.1 异常处理基础
6.2 异常类型Java语言中常见的异常类型有哪些
6.3 未被捕获的异常
6.4 try和catch的使用
6.5 多重catch语句的使用
6.6 try语句的嵌套
6.7 throw:异常的抛出
6.8 throws子句
6.9 finally块
6.10 Java的内置异常
6.11 创建自己的异常子类
6.12 断言
7、线程编程
7.1 线程的概念
7.2 Java线程模型
7.3 主线程
7.4 创建线程
7.5 创建多线程
7.6 isAlive()和join()的使用
7.7 线程优先级
7.8 线程同步
7.9 线程间通信
7.10 线程死锁
7.11 线程的挂起、恢复和终止
8、输入输出(IO)操作
8.1 输入输出基本概念
8.2 面向字符的输入流
8.3 面向字符的输出流
8.4 面向字节的输入输出流
8.5 面向字节流的应用
8.6 文件与目录管理
8.7 文件的随机读写
8.8 文件的压缩处理
9、常用类库、向量与哈希
9.1 Java基础类库
9.2 Object类
9.3 Java语言包(java.lang)简介
9.4 日期和时间类
9.5 向量及其应用
9.6 哈希表及其应用
10、图形界面(GUI)设计
10.1 图形界面设计基础
10.2 框架窗口
10.3 标签、按钮和按钮事件
10.4 面板
10.5 布局设计
10.6 文本框和文本区
10.7 文本框和文本区的输入输出
10.8 选择框和单选按钮
10.9 列表和组合框
10.10 菜单
10.11 对话框
10.12 滚动条
10.13 鼠标事件
10.14 键盘事件
11、图形、图像与多媒体
11.1 绘图基础
11.2 设置字型和颜色
11.3 绘图模式
11.4 Graphics类的绘图方法
11.5 Graphics2D类的绘图方法
11.6 图像处理基础
11.7 图像缓冲技术
11.8 多媒体基础
12、网络与数据库编程
12.1 IP地址和InetAddress类
12.2 统一资源定位符
12.3 套接字(Socket)
12.4 数据库连接
12.5 几个重要的类和接口
12.6 数据库查询
12.7 数据库更新
12.8 插入记录
12.9 修改记录
12.10 删除记录