list.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent ee)
{
~~~~~~~~~~~~~~~
}
});
就是有个问题,你点一下JList中的项目,就执行两次~~~~~~~~~~处的代码!!!
不解啊!!1
{
public void valueChanged(ListSelectionEvent ee)
{
~~~~~~~~~~~~~~~
}
});
就是有个问题,你点一下JList中的项目,就执行两次~~~~~~~~~~处的代码!!!
不解啊!!1
解决方案 »
- 关于在DOC下运行java程序的问题
- JAVA继承!!谢谢!!
- JAVA算法--忘大侠指教
- 关于Vector中的remove问题
- 求助:String b="123";和String c=new String("123");的区别!
- 我是问:java能与pop3邮件服务器连接,收邮件嘛?
- 怎样将Date的2005-04-19 00:00:00.0 转换成Date 2005-04-19
- JTable如何用?
- 初学者的问题:目前我应该装那一个java开发工具,jbuilder7? JavaScript?有没有java2.0?现在软件公司开发用的是那一种?
- 在Applet程序中使用swing控件
- 请大家讨论一下JAVA里的路径问题
- 求SDK中库的设置~~
getSelectedValue返回选择的值
list.addListSelectionListener(this); public void valueChanged(ListSelectionEvent e) {
JList theList = (JList)e.getSource();
int index = theList.getSelectedIndex(); //得到用户选择的选项
}
public void mouseClicked(MouseEvent e)
{
if(e.getSource() == list)
{
int index = list.getSelectedIndex();
}
}
我弄了一个JList 当JList的高度不能全部显示所有行时 并没有下拉列表的出现 为什么?
Vector vectorJlist = new Vector();
vectorJlist.addElements("1");
vectorJlist.addElements("2");
.
.
.
vectorJlist.addElements("12");JList jlist1 = new JList(vectorJlist);
// 当jlist1的高度不能全部显示所有行 怎样弄出下拉列表啊?
public void valueChanged(ListSelectionEvent liste) {
if(!liste.getValueIsAdjusting()) {
jButtons[0].setEnabled(true);
imageLabel.setIcon(mapImage[list.getSelectedIndex()]);
imageLabel.repaint();
}
}
});监听器中要加入判断,这样就可以在选择时只执行一次。
当前点中的序号: list.getSelectedIndex()
当前点中的对象: list.getSelectedValue()
如果想要在列表长度超过list长度出现下拉的话:JScrollPane scrollPane = new JScrollPane(list);
我用的时JScrollPane 的add 添加的JList组件 不是用的构造函数
结果跟本就没有显示JList
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.util.*;public class Applet1 extends Applet {
private boolean isStandalone = false;
GridBagLayout gridBagLayout1 = new GridBagLayout();
JScrollPane jScrollPane1 = new JScrollPane();
JList jList1 ; //Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
} //Construct the applet
public Applet1() {
}
//Initialize the applet
public void init() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
Vector vector =new Vector();
vector.addElement("dskfa");
vector.addElement("dskfa");
vector.addElement("dskfa");
vector.addElement("dskfa");
vector.addElement("dskfa");
vector.addElement("dskfa");
vector.addElement("dskfa");
vector.addElement("dskfa");
vector.addElement("dskfa");
vector.addElement("dskfa");
jList1 = new JList(vector);
this.setLayout(gridBagLayout1);
this.add(jScrollPane1, new GridBagConstraints(2, 0, 1, 4, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), -211, 48));
jScrollPane1.getViewport().add(jList1, null); }
//Get Applet information
public String getAppletInfo() {
return "Applet Information";
}
//Get parameter info
public String[][] getParameterInfo() {
return null;
}
}TNND的 运行后一个屁也没显示
以上的程序用的是JScrollPane
this.setLayout(gridBagLayout1);
this.add(jScrollPane1, new GridBagConstraints(2, 0, 1, 4, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), -211, 48)) 改用箱式布局管理器,把滚动面板加到中央,试试看。