Java Jlist选择项问题 50
这句代码index=listFriend.getSelectedIndex();程序刚刚运行的时候还是好好的,可以获取到listFriend选择项的下标,但是当我在这个选...
这句代码index = listFriend.getSelectedIndex();程序刚刚运行的时候还是好好的,可以获取到listFriend选择项的下标,但是当我在这个选择项上点击右键,弹出另外一个窗口的时候之后index = listFriend.getSelectedIndex();就出现问题了,那个下标值就一直是-1,这是问什么呢?请各位高手帮助帮助!那个弹出窗口关闭以后index = listFriend.getSelectedIndex();获取到的下标值index一样是-1
展开
1个回答
展开全部
package com.akfucc.zhidao;
import java.awt.Color;
import java.awt.Component;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.ListModel;
/**
* @description:
* @author akfucc
* @date Nov 9, 2009
*
*/
public class Zhidao extends JFrame {
ListModel model;
JList listTest;
public Zhidao() {
super("JList 测试");
listTest = new JList(new String[] { "Item1", "Item2", "Item3", "Item4",
"Item4" });
// 设置这个东西
listTest.setCellRenderer(new MyRenderer());
this.add(listTest);
// //
this.setSize(200, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
// 重点所在
private static class MyRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected,
cellHasFocus);
if (index % 2 == 0) {
setBackground(Color.red);
} else {
setBackground(Color.green);
}
return this;
}
}
public static void main(String[] args) {
new Zhidao();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询