Bother olha como eu fiz…
eu criei uma tela simples no netbeans e importei pro eclipse… uma table com 2 colunas e 4 linhas já pré feitas…
e um botão…
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* TelaTabela.java
*
* Created on May 25, 2011, 9:28:30 AM
*/
package teste;
/**
*
* @author Milton.neto
*/
public class TelaTabela extends javax.swing.JFrame {
public ActionListenerTela action;
/** Creates new form TelaTabela */
public TelaTabela() {
action = new ActionListenerTela(this);
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{"", ""},
{"", ""},
{null, null},
{null, null}
},
new String [] {
"Descriçao", "Resultado"
}
));
jScrollPane1.setViewportView(jTable1);
jButton1.setText("jButton1");
jButton1.addActionListener(action);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(15, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addGap(158, 158, 158)
.addComponent(jButton1)
.addContainerGap(169, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jButton1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TelaTabela().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
public javax.swing.JButton jButton1;
public javax.swing.JScrollPane jScrollPane1;
public javax.swing.JTable jTable1;
// End of variables declaration//GEN-END:variables
}
eu costumo colocar o ActionListener em uma classe separada, não deixa o codigo bagunçado e tudo junto.
ActionListener:
package teste;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionListenerTela implements ActionListener{
TelaTabela tabela;
public ActionListenerTela(TelaTabela tabela){
this.tabela = tabela;
}
public void actionPerformed(ActionEvent e) {
if(tabela.jButton1 == e.getSource()){
String texto1 = tabela.jTable1.getValueAt(tabela.jTable1.getSelectedRow(), 0).toString();
StringBuffer textoPronto = new StringBuffer(texto1);
textoPronto.reverse();
System.out.println(textoPronto);
tabela.jTable1.setValueAt(textoPronto, 0, 1);
}
}
}
to pegando o valor da linha selecionada da primera coluna e recebendo no meu >>> String <<< texto1 … não posso fazer
StringBuffer texto1 = (StringBuffer) tabela.jTable1.getValueAt(tabela.jTable1.getSelectedRow(), 0);
Porque ele nao aceita o Cast…
então primeiro recebo ele em um String depois dou estancio uma nova StringBuffer recebendo aquela String…
após fazer isso é só usar o codigo que o pessoal te passou
.reverse();
e jogar devolta na sua linha que JÁ está pronta…
Abraço espero ter ajudado.