Java 鼠标双击不起作用
我写了这个java代码来检测鼠标左键的双击,但是这个代码不起作用,请帮助Java 鼠标双击不起作用,java,swing,jtable,mouselistener,Java,Swing,Jtable,Mouselistener,我写了这个java代码来检测鼠标左键的双击,但是这个代码不起作用,请帮助 import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class B extends MouseAdapter { JFrame frame
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class B extends MouseAdapter {
JFrame frame = new JFrame();
Object rows[][] = new Object[5][3];
String colums[] = {"A","B","C"};
JTable table = new JTable(rows,colums);
JScrollPane scroll = new JScrollPane(table);
public static void main(String arg[]) {
new B();
}
B() {
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
table.addMouseListener(this);
frame.add(scroll);
frame.setVisible(true);
}
public void mouseClicked(MouseEvent clicked) {
if(clicked.getSource()==table && clicked.getButton()==1 && clicked.getClickCount()==2)
System.out.println("Left Double Click");
}
}
SwingUtilities.isLeftMouseButton(单击)
而不是clicked.getButton()==1
MouseEvent
并在通知mouseestener
之前安装单元格编辑器table.setFillsViewPerThight(true)代码>可以在行/列外部成功双击
CellEditor
s以忽略MouseeEvent
(或更改所需的点击次数),这将允许MouseListener
拾取双击,但也会增加您的工作负载,因为您需要为每个列Class
类型提供CellEditor
TableCellEditor editor = new DefaultCellEditor(new JTextField(10)) {
@Override
public boolean isCellEditable(EventObject anEvent) {
boolean editable = false;
if (!(anEvent instanceof MouseEvent)) {
editable = super.isCellEditable(anEvent);
}
return editable;
}
};
table.setDefaultEditor(Object.class, editor);
如果没有更多的上下文,很难知道还有什么可以建议的它到底是如何不起作用的?我想“左双击”不会出现。您的示例不会编译可能的副本