Mudando título de uma coluna do JTable

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()));
            }
        });