JTable

7 respostas
M

Alguem pode me ajudar com JTable? precisava de um esquema facil de se entender de manipular uma jtable! pegar a linha selecionada e dar ação a ela! algueim sabe de alguma coisa? thanks

7 Respostas

M

Achei o erro, mas so falto uma coisinha como faço para tirar isso, quando der 2 cliques na minha linha ele da para editar o que ta escrito como deixo minha tabela setEditable(false); ?

ViniGodoy

Não use o DefaultTableModel.

Aprenda a criar o seu próprio TableModel. Esses artigos podem te ajudar:
http://www.informit.com/articles/article.aspx?p=332278
http://www.informit.com/articles/article.aspx?p=333472

Entendendo isso, você entenderá como habilitar/desabilitar edição em uma coluna, entre outras coisas.

M

vinny to meio perdido ainda em java meu ingles tambem ta tenso sou iniciante master mas tenho força de vontade entao de só uma olhada eu vi o site que vc me mando e entendi algumas coisas porem outras nao veja so aqui esta a parte da edição da tabela

public boolean isCellEditable(int row, int col) {
   switch (col) {
    case 0: //Name
     return false;
    case 1: //value
     return true;
    case 2: //location
     return true;
    case 3: //quantity
     return true;
    default:
     return false;
   }
  }

  public Class getColumnClass(int col) {
   switch (col) {
    case 0: //Name
     return String.class;
    case 1: //value
     return Double.class;
    case 2: //location
     return String.class;
    case 3: //quantity
     return Integer.class;
    default:
     return null;
   }
  }

  public void setValueAt(Object value, int row, int col) {
   Widget w = (Widget)datalist.get(row);
   switch (col) {
    case 0: //Name
     w.setName(value.toString());
     break;
    case 1: //value
     Double _value = (Double)value;
     w.setValue(_value.doubleValue());
     break;
    case 2: //location
     w.setLocation(value.toString());
     break;
    case 3: //quantity
     Integer _quantity = (Integer)value;
     w.setQuantity(_quantity.intValue());
     break;
   }
  }

é em isCellEditable que iria no caso setar se minha linha seria editavel ou não? tem algum exemplo em portugues para mais facil entender? thanks

ViniGodoy

É sim.

E por acaso eu tenho um exemplo em português:
http://www.guj.com.br/posts/list/98452.java#530523

Mas é importante entender como o TableModel funciona. Não só olhar o método que vc precisa e copiar/colar sem entender direito o que você fez.

M

to com uma dúvida patética ;/ eu insiro meus objetos no formulario usando a ferramenta grafica do netbeans! nunca vou poder usar o tablemodel pelo netbeans? ou da!?

M

pq eu insiro o JTable na tela o netbeans ja gera alguns codigos altomaticos e como vou alterar algumas coisas tipo

public boolean isCellEditable(int rowIndex, int vColIndex) {

return false;

}

onde rowIndex seria o retorno da minha linha e a jtable criada automaticamente gera sem retorno!

ViniGodoy

Que dá, dá. Tenho certeza. Agora como exatamente não sei pq uso o Eclipse, não o Netbeans. Talvez abrir um outro tópico com essa pergunta na parte de Ferramentas ajude.

Criado 11 de março de 2009
Ultima resposta 14 de mar. de 2009
Respostas 7
Participantes 2