【摘要】作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的相关内容,今天就来讲讲Java监听列表项选择事件的相关内容。

列表框控件 JList 会显示很多项供用户选择,通常在使用时会根据用户选择的列表项完成不同的操作。

本案例将介绍如何监听列表项的选择事件,以及事件监听器的处理方法,实现过程如下。

(1) 创建一个继承自 JFrame 的 JListDemo2 类。

(2) 在 JListDemo2 类中添加 JList 组件和 JLabel 组件的声明,并创建空的构造方法,Java监听列表项选择事件代码如下所示。

package ch17;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class JListDemo2 extends JFrame
{
JList list;
JLabel label;
public JListDemo2(){};
public static void main(String[] args)
{
JListDemo2 frame=new JListDemo2();
frame.setVisible(true);
}
}

(3) 在构造方法中为列表框填充数据源,Java监听列表项选择事件主要代码如下:

public JListDemo2()
{
setTitle("监听列表项选择事件");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,400,200);
JPanel contentPane=new JPanel();
contentPane.setBorder(new EmptyBorder(5,5,5,5));
contentPane.setLayout(new BorderLayout(0,0));
setContentPane(contentPane);
label=new JLabel(" ");
contentPane.add(label,BorderLayout.SOUTH);
JScrollPane scrollPane=new JScrollPane();
contentPane.add(scrollPane,BorderLayout.CENTER);
list=new JList();
scrollPane.setViewportView(list);
String[] listData=new String[7];
listData[0]="《一点就通学Java》";
listData[1]="《一点就通学PHP》";
listData[2]="《一点就通学Visual Basic)》";
listData[3]="《一点就通学Visual C++)》";
listData[4]="《Java编程词典》";
listData[5]="《PHP编程词典》";
listData[6]="《C++编程词典》";
list.setListData(listData);
}

(4) 为列表框组件 list 添加选择事件监听,Java监听列表项选择事件代码如下所示。

list.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
do_list_valueChanged(e);
}
});

如上述代码所示,list 组件绑定了 ListSelectionListener 事件监听器,在触发该事件后又会调用 do_list_valueChanged() 方法进行实际的业务逻辑处理。

(5) 创建 do_liSt_ValueChanged() 方法将用户选择的列显示到标签中,具体代码如下:

protected void do_list_valueChanged(ListSelectionEvent e)
{
label.setText("感谢您购买:"+list.getSelectedValue());
}

以上就是有关Java监听列表项选择事件的相关内容