使用 JButton 填充 JList 并在 Jlist 上使用 DoubleClick 填充 JTextField
Populating a JList using a JButton and Populating the JTextField using DoubleClick on the Jlist
我正在尝试通过按钮填充 JList,然后在之前填充的 Jlist 上使用 DoubleClick 填充 JTextField。
代码:
private void extractUsedVariablesActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(arguments.size() > 0)
JOptionPane.showMessageDialog(null, "Please complete the predicates before accessing this");
DefaultListModel lista1 = new DefaultListModel();
for (int i = 0;i<variableList.size();i++)
{
if (!lista1.contains(variableList.get(i)))
{
lista1.addElement(variableList.get(i));
}
}
argVariables_List.setModel(lista1);
revalidate();
repaint();
if (lista1.size()>0){
System.out.println("got here1");
MouseListener mouseListener2 = new MouseAdapter()
{
public void mouseClicked1(MouseEvent mouseEvent2)
{
JList varList = (JList) mouseEvent2.getSource();
if (mouseEvent2.getClickCount() == 2)
{
System.out.println("may be");
int index varList.locationToIndex(mouseEvent2.getPoint());
if (index >= 0)
{
Object o2 = varList.getModel().getElementAt(index);
System.out.println(o2.toString());
}
}
}
};
argVariables_List.addMouseListener(mouseListener2);
}
}
它在填充 Jlist 之前工作正常。但是当我尝试双击操作并在单击的索引处打印文本时,我没有得到任何输出,也没有任何错误。如果我遗漏了什么,请建议我。
public void mouseClicked1(MouseEvent mouseEvent2)
MouseListener接口中没有这个方法。 (注意“1”)。
确保在方法上方的行中包含 @Override
,如果输入错误,您将收到编译器错误。
@Override
public void mouseClicked1(MouseEvent mouseEvent2)
我正在尝试通过按钮填充 JList,然后在之前填充的 Jlist 上使用 DoubleClick 填充 JTextField。
代码:
private void extractUsedVariablesActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(arguments.size() > 0)
JOptionPane.showMessageDialog(null, "Please complete the predicates before accessing this");
DefaultListModel lista1 = new DefaultListModel();
for (int i = 0;i<variableList.size();i++)
{
if (!lista1.contains(variableList.get(i)))
{
lista1.addElement(variableList.get(i));
}
}
argVariables_List.setModel(lista1);
revalidate();
repaint();
if (lista1.size()>0){
System.out.println("got here1");
MouseListener mouseListener2 = new MouseAdapter()
{
public void mouseClicked1(MouseEvent mouseEvent2)
{
JList varList = (JList) mouseEvent2.getSource();
if (mouseEvent2.getClickCount() == 2)
{
System.out.println("may be");
int index varList.locationToIndex(mouseEvent2.getPoint());
if (index >= 0)
{
Object o2 = varList.getModel().getElementAt(index);
System.out.println(o2.toString());
}
}
}
};
argVariables_List.addMouseListener(mouseListener2);
}
}
它在填充 Jlist 之前工作正常。但是当我尝试双击操作并在单击的索引处打印文本时,我没有得到任何输出,也没有任何错误。如果我遗漏了什么,请建议我。
public void mouseClicked1(MouseEvent mouseEvent2)
MouseListener接口中没有这个方法。 (注意“1”)。
确保在方法上方的行中包含 @Override
,如果输入错误,您将收到编译器错误。
@Override
public void mouseClicked1(MouseEvent mouseEvent2)