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)
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


0