Java 摆动双击
当试图通过双击从列表中选择项目时,它会为两个列表选择一次,但在通过单击选择之后Java 摆动双击,java,swing,mouseevent,listselectionlistener,Java,Swing,Mouseevent,Listselectionlistener,当试图通过双击从列表中选择项目时,它会为两个列表选择一次,但在通过单击选择之后 listScrollPanel.setViewportView(categoryList); subCategoryList.setModel(new javax.swing.AbstractListModel() { String[] strings = {"Sub-category 1", "Sub-category 2", "Sub-category 3", "Sub-categ
listScrollPanel.setViewportView(categoryList);
subCategoryList.setModel(new javax.swing.AbstractListModel() {
String[] strings = {"Sub-category 1", "Sub-category 2", "Sub-category 3", "Sub-category 4", "Sub-category 5", "Sub-category 6"};
});
subCategoryList.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked(java.awt.event.MouseEvent evt) {
infoBox(Integer.toString(evt.getClickCount()), subCategory);
if (evt.getClickCount() == 2) {
subCategoryList.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
@Override
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
subCategoryListValueChanged(evt);
}
});
}
}
});
private void subCategoryListValueChanged(javax.swing.event.ListSelectionEvent evt) {
subCategory = (String) subCategoryList.getSelectedValue();
labelSC.setText(CAT_HEADER);
listScrollPanel.setViewportView(categoryList);
}
private static void infoBox(String Message, String location) {
JOptionPane.showMessageDialog(null, Message, location, JOptionPane.INFORMATION_MESSAGE);
}
如何让他只听双击?
我有一个categoryList,在双击和ListSelection后,它将viewportView更改为子类别,其工作原理相同!但他们在前两次双击后会在单击时做出反应 每次发生双击鼠标事件时,您都会添加一个新的
ListSelectionListener
。每一个都会对鼠标单击做出响应。您可以单独使用鼠标侦听器
:
subCategoryList.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent evt) {
if (evt.getClickCount() == 2) {
String selectedValue = subCategoryList.getSelectedValue();
// do stuff with selectedValue...
}
}
});
每次双击鼠标事件发生时,您都会添加一个新的
ListSelectionListener
。每一个都会对鼠标单击做出响应。您可以单独使用鼠标侦听器
:
subCategoryList.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent evt) {
if (evt.getClickCount() == 2) {
String selectedValue = subCategoryList.getSelectedValue();
// do stuff with selectedValue...
}
}
});
!!! 请为什么大喊大叫,为了更好的帮助,尽快发布一个,简短的,可运行的,可编译的,关于容器的列表,重复的是的,我看到了这个问题!并添加到我的代码中!但它不起作用!所以我问!这里有人告诉我,我必须删除
addListSelectionListener
!!!如果你能看到,在我的代码是双击这是在问题你扔!但它不起作用!我真的很感激这里所有的作者,倾听和尊重,但你的。。。。这就像是有点像是
!!!!请为什么大喊大叫,为了更好的帮助,尽快发布一个,简短的,可运行的,可编译的,关于容器的列表,重复的是的,我看到了这个问题!并添加到我的代码中!但它不起作用!所以我问!这里有人告诉我,我必须删除addListSelectionListener
!!!如果你能看到,在我的代码是双击这是在问题你扔!但它不起作用!我真的很感激这里所有的作者,倾听和尊重,但你的。。。。这就像是有点像是
!确切地说:“每次鼠标双击都会发生”,如果我可以在这里问的话!SubCategory List.getModel().getElementAt(SubCategory List.locationToIndex(evt.getPoint())之间的区别是什么;和子类别列表。getSelectedValue()???两者都是等效的,getSelectedValue
较短,因此我更新了它,准确地说:“每次双击鼠标”,如果我可以在这里询问的话!SubCategory List.getModel().getElementAt(SubCategory List.locationToIndex(evt.getPoint())之间的区别是什么;和子类别列表。getSelectedValue()???两者都是等效的,getSelectedValue
较短,因此已使用此更新