una seleccionar seleccionada obtener los fila eventos evento editable doble detectar derecho datos como java swing mouseevent double-click

seleccionar - identificando doble clic en java



eventos del mouse en java netbeans (3)

Quiero saber cómo podemos realizar una acción cuando se hace doble clic en el mouse en un componente.


El e.getClickCount()==2 no es suficiente si desea permitir que sus usuarios hagan múltiples clics dobles en un breve retraso. Usted está limitado por la configuración del escritorio. Puede obtenerlo mirando el resultado de Toolkit.getDefaultToolkit().getDesktopProperty("awt.multiClickInterval");

Una buena forma de eludir el problema no es usar la comprobación getClickCount() , sino usar un Timer donde puede elegir el intervalo máximo entre sus clics y manejar por cuenta propia (muy simple).

El código asociado:

boolean isAlreadyOneClick; @Override public void mouseClicked(MouseEvent mouseEvent) { if (isAlreadyOneClick) { System.out.println("double click"); isAlreadyOneClick = false; } else { isAlreadyOneClick = true; Timer t = new Timer("doubleclickTimer", false); t.schedule(new TimerTask() { @Override public void run() { isAlreadyOneClick = false; } }, 500); } }

Probado con Win Xp OS y perfecto.


Suponiendo que quiere decir en Swing, asigne un MouseListener a su Componente:

addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent e){ if(e.getClickCount()==2){ // your code here } } });

Referencia:


public void mouseClicked(MouseEvent event) { if (event.getClickCount() == 2) { System.out.println("double clicked"); } }