Item selecionado da JTable

7 respostas
java
E

bom dia galera, estou com um problema, fiz um código mas ele só pega a posição zero da tabela, eu queria que ele pegasse a posição selecionado pelo usuário.

int codigo = (Integer) jTableUsuarios.getValueAt(0,0);

esse é o código. já tentei colocar (linha,linha), (""), (’’), (linha, codigo) mas a o netbens grifa como erro, alguém poderia me da uma ajuda?

7 Respostas

S

Já leu a documentação do método getValueAt(int, int)?

Ele recebe dois parâmetros, a linha e a coluna da qual você deseja obter o valor, então se você faz getValueAt(0, 0), sempre vai obter o conteúdo da célula correspondente à linha 0 e coluna 0.

Para obter o índice da linha selecionada, use o método getSelectedRow().

R

Segue uma dica:
Pare de sofrer com DefaultTableModel, não use isso. Implemente seu próprio TableModel e desfrute da Orientação a Objetos de verdade:

E

deu certo amigo só que ele nao levou nada da jTable.

J

Você pode resgatar valores assim:

int codigo = Integer.parseInt(SuajTable.getValueAt(SuajTable.getSelectedRow(), 0).toString());

O código acima pega a linha selecionada pelo usuário e resgata o valor da coluna informada, no exemplo estou resgatando o valor da coluna Zero.

E

deu isso na saida.

xception in thread AWT-EventQueue-0 java.lang.IndexOutOfBoundsException: Invalid index

at javax.swing.DefaultRowSorter.convertRowIndexToModel(DefaultRowSorter.java:514)

at javax.swing.JTable.convertRowIndexToModel(JTable.java:2642)

at javax.swing.JTable.getValueAt(JTable.java:2717)

at view.ViewUsuario.recuperarUsuario(ViewUsuario.java:402)

at view.ViewUsuario.jButtonAlterarActionPerformed(ViewUsuario.java:300)

at view.ViewUsuario.access$500(ViewUsuario.java:23)

at view.ViewUsuario$7.actionPerformed(ViewUsuario.java:189)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)

at java.awt.Component.processMouseEvent(Component.java:6533)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6298)

at java.awt.Container.processEvent(Container.java:2236)

at java.awt.Component.dispatchEventImpl(Component.java:4889)

at java.awt.Container.dispatchEventImpl(Container.java:2294)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2280)

at java.awt.Window.dispatchEventImpl(Window.java:2746)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
J

O erro está totalmente explícito, o índice informado por você está fora do limite da table!

S

Posta o seu código completo

Criado 27 de abril de 2017
Ultima resposta 27 de abr. de 2017
Respostas 7
Participantes 4