JTabel

Caros amigos,

Não estou conseguindo inserir uma tabela para mostrar os dados do dicionario.
Tenho três classes :Palavra , Dicionario e Tela onde Palavra e Dicionario são as classes de aplicação .

Segue o codigo de Tela,

[code]* Created on 08/05/2007
*

  • TODO To change the template for this generated file go to
  • Window - Preferences - Java - Code Style - Code Templates
    */
    package Aplicacao;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

/**

  • @author 2005207786

  • TODO To change the template for this generated type comment go to

  • Window - Preferences - Java - Code Style - Code Templates
    */
    public class Tela extends JFrame {

    private JButton ok,consultar;
    private JLabel label1,label2, resultado;
    private JTextField t, t1;
    Dicionario dicionario;

    public Tela(){
    //criar o dicionario

     super(" Dicionario ");
     
     dicionario = new Dicionario();
     
     Container container = getContentPane();
     container.setLayout(new FlowLayout());
     
     label1 = new JLabel("Palavra");
     label1.setToolTipText("Digite a palavra");
     container.add(label1);
     
     t=new JTextField(10);
     add(t);
     
     label2 = new JLabel("Traducao");
     label2.setToolTipText("Digite traducao da palavra");
     container.add(label2);
     
     t1=new JTextField(10);
     add(t1);
     
     ok = new JButton("OK");	  
     container.add(ok);
     
     		
     consultar= new JButton("Consultar");
     container.add(consultar);
     
     resultado = new JLabel("***Tabela***");
     container.add(resultado);
     
     
      ButtonHandler handler = new ButtonHandler();
      ok.addActionListener(handler);
      consultar.addActionListener(handler);
     
     this.setSize(200,200);
     this.setVisible(true);
    

    }
    private class ButtonHandler implements ActionListener{
    public void actionPerformed(ActionEvent event){
    if (event.getSource() == ok){
    //criar a palavra
    //set na palavra o valor do dos JTextFi…
    //adicionar no dicionario
    Palavra palavra = new Palavra();
    palavra.setPalavra(t.getText());
    palavra.setTraducao(t1.getText());

     		dicionario.adicionaPalavra(palavra);
     		
     		//fazer o cara(metodo) que vai atualizar a tabela
     	
     	}
        
        if (event.getSource() == consultar){
            label1.setText(label1.getText()+"consultar");
        }
     }
    

    }
    public static void main (String args [])
    {Tela application = new Tela();
    application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }

Oi Elen.

Quando for postar código, pode seguir estas dicas de formatação? Fica difícil ler código não endentado.

O que você não está conseguindo? Para inserir um JTable, você começa criando um TableModel, que vai descrever para o table o que vai ser exibido. Para isso, crie um filho de AbstractTableModel.

Dá uma olhada neste tutorial da Sun sobre o assunto.

Olá Elen,

Idealmente, você pode usar uma abstração em cima do Swing que te permita trabalhar diretamente com seu modelo de objetos e implementar funcionalidades com esta de forma muito mais simples. Uma solução para isso é o genesis, um framework brasileiro com documentação em português que resolve este problema.