列表框JList 及动作监听

源代码:

<span style="font-size:18px;">import java.util.Vector ;
import java.awt.GridLayout ;
import java.awt.Container ;
import java.awt.event.WindowAdapter ;
import java.awt.event.WindowListener ;
import java.awt.event.WindowEvent ;
import javax.swing.JFrame ;
import javax.swing.JList ;
import javax.swing.JScrollPane ;
import javax.swing.BorderFactory ;
import javax.swing.ListSelectionModel ;

class MyList
{
    JFrame frame = new JFrame() ;
    Container con = frame.getContentPane() ;  //得到窗体容器
    private JList list1 = null ;
    private JList list2 = null ;
    public MyList()
    {
       this.frame.setLayout(new GridLayout(1,3)) ;
       String brother[] = {"大哥","呆萌","小三","小四","小五","大哥","呆萌","小三","小四","小五"} ;
       Vector<String> v = new Vector<String>() ;
       v.add("春天") ;
       v.add("夏天") ;
       v.add("秋天") ;
       v.add("冬天") ;
       this.list1 = new JList(brother) ;
       this.list2 = new JList(v) ;

       this.list1.setBorder(BorderFactory.createTitledBorder("你是谁啊?")) ;
       this.list2.setBorder(BorderFactory.createTitledBorder("现在是什么季节")) ;

       this.list1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION) ;   //多选
       this.list2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION) ;            //单选

       this.con.add(new JScrollPane(this.list1)) ;
       this.con.add(this.list2) ;

       this.frame.setSize(300,300) ;
       this.frame.setVisible(true) ;

       this.frame.addWindowListener(new WindowAdapter()
       {
           public void windowClosing(WindowEvent e)
           {
               System.exit(1) ;
           }
       }) ;
    }
}

class Tester
{
   public static void main(String args[])
   {
      new MyList() ;
   }
}</span>

常用监听:

<span style="font-size:18px;">import java.util.Vector ;
import java.awt.event.WindowEvent ;
import java.awt.event.WindowAdapter ;
import java.awt.event.WindowListener ;
import javax.swing.event.ListSelectionListener ;
import javax.swing.event.ListSelectionEvent ;
import java.awt.Container ;
import java.awt.GridLayout ;
import javax.swing.JFrame ;
import javax.swing.JList ;
import javax.swing.JScrollPane ;
import javax.swing.BorderFactory ;
import javax.swing.AbstractListModel ;
import javax.swing.ListSelectionModel ;

class MyListModel extends AbstractListModel
{
   private String brothers[] = {"大哥","呆萌","小三","小四","小五"} ;
   public Object getElementAt(int index)
   {
      if(index<brothers.length)
      return brothers[index] ;
      else return null ;
   }

   public int getSize()
   {
      return brothers.length ;
   }
}

class MyList implements ListSelectionListener
{
   JFrame frame = new JFrame() ;
   Container con = frame.getContentPane() ;
   private JList list = null ;
   public MyList()
   {
      this.frame.setLayout(new GridLayout(1,3)) ;
      this.list = new JList(new MyListModel()) ;
      this.list.setBorder(BorderFactory.createTitledBorder("你排行老几啊?")) ;
      this.list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION) ;
      this.con.add(new JScrollPane(list)) ;

      this.frame.setSize(400,400) ;
      this.frame.setVisible(true) ;
      this.list.addListSelectionListener(this) ;

      this.frame.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent a){
                System.exit(1) ;
            }
        }) ;
   }

   public void valueChanged(ListSelectionEvent e)
   {
       int temp[] = list.getSelectedIndices() ;
       //int temp[] = list1.getSelectedIndices() ;
       System.out.println("选中的内容是:") ;
       for(int i=0;i<temp.length;i++)
       {
          System.out.println(list.getModel().getElementAt(i)) ;
       }
   }
}

class Tester
{
   public static void main(String args[])
   {
       new MyList() ;
   }
}

</span>
时间: 2024-11-10 12:03:26

列表框JList 及动作监听的相关文章

java小学生四则运算带面板版 但我不知道为什么同类变量却进不了动作监听中去

---恢复内容开始--- 1 package yun; 2 import java.util.*; 3 import java.awt.*; 4 import java.awt.event.ActionEvent; 5 import java.awt.event.ActionListener; 6 7 import javax.swing.*; 8 public class number extends JFrame{ 9 10 /** 11 * 作者:范铭祥 12 * 功能:一个简单的小学生四

复选框 省市区 联动(监听input的change事件)

需求:省市区三级包含复选框按钮以及文字描述.点击文字显示对应的下级地区,点击复选框选择对应的下级区域勾选. 分析:监听input的change事件当点击复选框省  选择对应的第一个市区,同时默认选中第三级区域的第一个.同理监听span或者label(因为label与input的搭配使用) 辅助:后台提供省市区的数据: 两种方式: A:后台直接给dom结构(后台写好基本构架,前段自己在后台code填写需要的dom,class,方便前端开发) B:后台直接给前段一个json数据,前段自己遍历.(和后

Layui select下拉框改变之 change 监听事件(转)

在layui中使用 jquery 触发select 的 change事件无效 使用layui.use监听select事件 <select lay-filter="demo" lay-verify="required"> <script> layui.use(['layer', 'jquery', 'form'], function () { var layer = layui.layer, $ = layui.jquery, form = l

鼠标动作监听类MouseListener

<span style="font-size:14px;">import java.awt.event.ActionEvent ; import java.awt.event.ActionListener ; import java.awt.event.WindowListener ; import java.awt.event.WindowAdapter ; import java.awt.event.WindowEvent ; import java.awt.event

java实现鼠标拖拽动作监听

源代码 <span style="font-size:14px;">import java.awt.event.ActionEvent ; import java.awt.event.ActionListener ; import java.awt.event.WindowListener ; import java.awt.event.MouseMotionAdapter ; import java.awt.event.MouseMotionListener ; impo

Java Swing界面编程(22)---事件处理:动作事件及监听处理

要想让一个按钮变得有意义,就必须使用事件处理.在swing的事件处理中,可以使用ActionListener接口处理按钮的动作事件. package com.beyole.util; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter

ExtJS 下拉框监听事件、日期选择器监听事件、实现动态给items添加删除数据

1.下拉框 下拉框选择时,触发事件的方法: 在 Ext.form.ComboBox 组件中新增 listeners 监听事件 基本写法为:  listeners{'事件',function(){处理方法}} listeners:{ select:{ fn:function(combo,record,index) { } } }   2.日期选择器 选择日期时,值发生变化,并且在失去焦点之前触发此事件,也就是说如果此日期组件的值发生变化,而焦点并没有失去,这个事件也就不会触发.解决方法: menu

JAVA GUI 事件监听事件 详解 和 案例.

GUI(图形用户界面) Graphical User Interface(图形用户接口) 用图形的 方式, 来显示 计算机操作的 界面, 这样更方便 更直观. CLI Command Line User Interface(命令行用户接口) 就是常见的 Dos 命令行操作. 需要记忆一些常用的命令, 操作不直观. Java 为 GUI 提供的 对象 都存在 java.awt 和 javax.swing 两个包中. Java 图形化界面的 产品: eclipse 这个产品使用 纯Java 语言 编

Java中的事件监听机制

鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动作发生在哪个组件上,那么该组件就是事件源对象 2.事件监听方法: addMouseListener(MouseListener ml) ;该方法主要用来捕获鼠标的释放,按下,点击,进入和离开的动作:捕获到相应的动作后,交由事件处理类(实现MouseListener接口)进行处理. addAction