Como que eu faço para mudar o título de umas das colunas de um JTable, eu já peguei o JTableHeader dele e agora?
MyTable.getTableHeader().getColumnModel().getColumn(IndiceColuna).setHeaderValue(“Titulo”);
A Paz!!
[quote=“paulohbmetal”]MyTable.getTableHeader().getColumnModel().getColumn(IndiceColuna).setHeaderValue(“Titulo”);
A Paz!![/quote]
Ok, bufou o negócio aki… você poderia me dar uma mãozinha em outra coisa, como que eu adiciono um evento só para o JTableHeader de um JTable?
consegui fazer aki… mais uma vez, brigado pela ajuda
estou apanhando para pegar o índice de qual coluna o mouse foi clicado, alguém pode me ajudar?
Cara eu nunca precisei de fazer isso não, mas vc pode ver que ele tem os addListeners.Como por exemplo o addMouseLister.Qual evento vc quer adicionar?
A Paz!!
Taí:
MyTable.getSelectedColumn();
A Paz!!
[quote=“paulohbmetal”]Cara eu nunca precisei de fazer isso não, mas vc pode ver que ele tem os addListeners.Como por exemplo o addMouseLister.Qual evento vc quer adicionar?
A Paz!![/quote]
Eu já adicionei os eventos, agora eu não to conseguindo pegar o índice do TableHeader em que o mouse foi clicado
Cara vc pode pegar o identificador e o indice do modelo:
MyTable.getTableHeader().getColumnModel().getColumn(MyTable.getSelectedColumn()).getIdentifier();
MyTable.getTableHeader().getColumnModel().getColumn(MyTable.getSelectedColumn()).getModelIndex()
A Paz!!
[quote=“paulohbmetal”]Cara vc pode pegar o identificador e o indice do modelo:
MyTable.getTableHeader().getColumnModel().getColumn(MyTable.getSelectedColumn()).getIdentifier();
MyTable.getTableHeader().getColumnModel().getColumn(MyTable.getSelectedColumn()).getModelIndex()
A Paz!![/quote]
mostrou o seguinte erro
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.Vector.elementAt(Vector.java:434)
at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:277)
at Grafico.renomearTabela(Grafico.java:365)
at Grafico$1.mouseClicked(Grafico.java:37)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212)
at java.awt.Component.processMouseEvent(Component.java:5103)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3207)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
esta linha
retorna -1… ali que dá o problema
Cara vc está querendo é ordenar a JTable pelas colunas?
A Paz!!
Se for isso que perguntei acima, então acho que isso resolve:
http://www.esus.com/javaindex/j2se/jdk1.2/javaxswing/editableatomiccontrols/jtable/jtablesortrows.html
A Paz!!
[quote=“paulohbmetal”]Cara vc está querendo é ordenar a JTable pelas colunas?
A Paz!![/quote]
Eu não estou querendo ordenar, eu queria pegar qual indice do JTabelHeader está selecionado para saber qual alterar
Cara, agora acho que consegui o que vc quer: :lol:
MyTable.getTableHeader().columnAtPoint(evt.getPoint());
A Paz!!
Sendo mais específico:
MyTable.getTableHeader().addMouseListener(new java.awt.event.MouseAdapter(){
public void mouseClicked(java.awt.event.MouseEvent evt) {
System.out.println(MyTable.getTableHeader().columnAtPoint(evt.getPoint()));
}
});