[java桌面应用开发]列表————(2020.4.28学习笔记)

目录

第一节 列表
第二节 实例演示

第一节 列表

列表(JList)是可供用户进行选择的一系列可选项。常用的构造方法如下。
  •JList( ):构造一个空列表。
  •JList(Object[] listData):构造一个列表,列表的可选项由对象数组listData指定。
  •JList(Vector<?>listData):构造一个列表,使其显示指定Vector中的元素。
  例如,下面的语句根据String 数组构造一个包含4个可选项的列表。
  String[] data={”one”,“two”,“three”,"four“};
  JListdataList=new JList(data);
  当用户在列表上进行选择时,将引发ListSelectionEvent事件。在JList中提供了addListSelectionListener(ListSelectionListener listener)方法,用于注册对应的事件侦听程序。在ListSelectionListener接口中,只包含一个方法:
  public void valueChanged(ListSelectionEvent e);
  当列表的当前选项发生变化时,将会调用该方法。在JList类中定义了相关的方法,常用的有以下几种。
  public intgetSelectedIndex( ):返回所选项第一次出现的索引;如果没有所选项,则返回-1。
  •public Object getSelectedValue( ):返回所选的第一个值,如果选择为空,则返回null。
  •public void setVisibleRowCount(intvisibleRowCount):设置不使用滚动条可以在列表中显示的首选行数。

第二节 实例演示

实例代码如下

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

public class Subject {
	JFrame frame=new JFrame("JList Demo");
	JList list;
	DefaultListModel listModel;
	JPanel panel;
	JTextField tf;
	JButton button;
	
   public static void main(String args[])
   {
	   Subject s=new Subject();
	   s.go();
   }
   public void go()
   {
	   listModel=new DefaultListModel();
	   listModel.addElement("one");
	   listModel.addElement("two");
	   listModel.addElement("three");
	   listModel.addElement("four");
	   list=new JList(listModel);
	   JScrollPane jsp=new JScrollPane(list,
			   JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
			   JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
	   Container cp=frame.getContentPane();
	   cp.add(jsp);
	   tf=new JTextField(15);
	   button=new JButton("add new item");
	   button.addActionListener(new ActionListener(){
		   public void actionPerformed(ActionEvent e)
		   {
			   listModel.addElement(tf.getText());
			   
		   }
	   });
	   panel=new JPanel();
	   panel.add(tf);
	   panel.add(button);
	   cp.add(panel,BorderLayout.SOUTH);
	   frame.pack();
	   frame.setVisible(true);
	   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	   
	   
	   
   }
}

最后实现的效果如下
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值