SSCCEE 表示简短、自包含、正确(可编译)、示例。您应该创建一个简短的示例来演示您的问题。您的实际代码可能很长并且没有必要显示问题,因此您应该创建小型运行程序。
好的,这里是 SSCCE,正如预期的那样,它工作正常。在这里告诉你,当你使用这个例子时你面临什么问题。
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
public class ListDemo extends JFrame{
private DefaultListModel<String> listModel;
private JList<String> list;
private JScrollPane listScrollPane;
public ListDemo(){
listModel = new DefaultListModel<String>();
for(int i = 0; i < 10; i++){
listModel.addElement("Item " + (i + 1));
}
list = new JList<String>(listModel);
list.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent me){
if(SwingUtilities.isRightMouseButton(me)){
list.clearSelection();
}
}
});
listScrollPane = new JScrollPane(list);
getContentPane().add(listScrollPane);
setSize(500, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String [] arg){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ListDemo().setVisible(true);
}
});
}
}