Java - Saber donde hace click jtable

 
Vista:

Saber donde hace click jtable

Publicado por rey (1 intervención) el 04/12/2006 22:33:24
hola tengo una jtable en netbeans 5.0

y quiero que en la casilla donde se haga click se muestre la suma de su fila + columna
hago esto:

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
jTable1.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
int fila = jTable1.rowAtPoint(e.getPoint());
int columna = jTable1.columnAtPoint(e.getPoint());
if ((fila > -1) && (columna > -1)){
jTable1.setValueAt(fila+columna, fila, columna);
}
}
});
}

el problema esta en que la primera vez que voy hacer click tengo que hacerlo 2 veces luego para cualquier casillas una sola vez, porque? y como lo soluciono?
es por que coloque dentro del jTable1MouseClicked otro mouseClicked? como va?

el otro problema es que cada vez que doi click me muestra el resultado pero tambien me muestra la ventana Output de netbeans con esto: que pasa??

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
at javaapplication14.Principiante.jTable1MouseReleased(Principiante.java:189)
at javaapplication14.Principiante.access$200(Principiante.java:16)
at javaapplication14.Principiante$2.mouseReleased(Principiante.java:77)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:232)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Saber donde hace click jtable

Publicado por Yamil Bracho (2315 intervenciones) el 05/12/2006 19:03:43
Agrega un MouseListener a tu jtable. por ejemplo :

table.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() == 2)
{
Point p = e.getPoint();
int row = table.rowAtPoint(p);
int column = table.columnAtPoint(p);

// ...
}
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Saber donde hace click jtable

Publicado por Hector Cubillos (1 intervención) el 12/01/2010 07:47:26
Utiliza el evento Released en vez de click, ya que el evento click empieza a ejecutarse desde que haces click y no desde que sueltas el boton del mouse ;)
suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar