java的JList监听判断怎么写?

比如有三个选项香蕉苹果大鸭梨,当我选中香蕉的时候执行某事件,选中苹果执行另一个事件... 比如有三个选项香蕉苹果大鸭梨,当我选中香蕉的时候执行某事件,选中苹果执行另一个事件 展开
 我来答
g470657538
推荐于2016-03-13 · TA获得超过211个赞
知道小有建树答主
回答量:190
采纳率:53%
帮助的人:107万
展开全部
主要的就是监听要用ListSelectionListener,对整个jlist进行监听即可,事件源e.getSource要强转为JList,下面给出刚写的例子:

public class BaiDuKnows extends JFrame implements ListSelectionListener
{
//创建列表
private JList jl=new JList();
private JLabel label =new JLabel("香蕉苹果大鸭梨等待你的选择!");
//创建字符串数组
private String[] str={"香蕉","苹果","大鸭梨"};
//创建复选框数组
public BaiDuKnows()
{
//设置列表的数据模型
jl.setListData(str);
//为列表注册ListSelectionEvent监听器
jl.addListSelectionListener(this);
jl.setBounds(0, 0, 150, 200);
label.setBounds(180, 0, 200, 200);
this.add(jl);
this.add(label);
this.setLayout(null);
this.setBounds(100,100,360,250);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//实现ListSelectionListener接口中的事件处理方法
public void valueChanged(ListSelectionEvent e)
{
Object obj=((JList)e.getSource()).getSelectedValue();
if(obj.equals("香蕉"))
{
label.setText("你选的是banana");
}
else if(obj.equals("苹果"))
{
label.setText("你选的是apple");
}
else if(obj.equals("大鸭梨"))
{
label.setText("你选的是pear");
}
else
{
label.setText("你选的是球!!");
}
}
public static void main(String[] args)
{
new BaiDuKnows();
}
}
来自:求助得到的回答
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呼星腾7N
2013-02-18 · TA获得超过1986个赞
知道小有建树答主
回答量:1988
采纳率:0%
帮助的人:1194万
展开全部
设置监听事件,然后根据选择的index,position判断就是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xingfu91250
2013-02-18 · TA获得超过179个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:173万
展开全部
JList 列表组建
构造方法: 可传入数组、向量、列表模型
列表模型 JList(ListModel dataModel)
ListModel 是一个接口,一般使用它的子类DefaultListModel
DefaultListModel dl=new DefaultListModel();
JList list=new JList(dl);
使用列表模型主要针对列表模型可以监听列表内容的改变

常用方法: setSelectionMode(int selectionMode) 设置选择模式
selectionMode的取值:ListSelectionModel.SINGLE_SELECTION
ListSelectionModel.SINGLE_INTERVAL_SELECTION
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
int型表示: 0表示不能多选 1表示可多选单不能跳选
2表示可多选并且可以跳选
locationToIndex() 获取该点上选项的索引值
使用: Point p=e.getPoint();
int n=list.locationToIndex(p);
常用事件: 列表内容改变监听>>ListDataListener
public void intercalRemoved( ListDataEvent e) {
}
public void intervalAdded( ListDataEvent e) {
}
public void contentsChanged( ListDataEvent e) {
}

选项改变事件监听>>ListSelectionListener
public void valueChanged( ListSelectionEvent e){
}

是我自己总结的,不是很全面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Stale331x
2013-02-18 · TA获得超过1299个赞
知道小有建树答主
回答量:1276
采纳率:33%
帮助的人:837万
展开全部
不 是有个选择的listener吗
追问
我不知道怎么判断,监听器会写,但是怎么判断选中的是香蕉还是苹果?
追答
你的意思是,你只是不会判断选择的是哪个元素而已??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式