Passar o conteúdo de um JTable para um JLabel

1 resposta
CarlosFontana

Boa noite pessoal, tenho uma JTable com suas determinadas colunas, como eu faço para pegar o conteúdo da coluna “Nome” e passar para um JLabel e conforme desço ou subo pela tabela o nome muda também no JLabel?

Obrigado!

1 Resposta

CarlosFontana
package Cadastros.Telas;

import Cadastros.Pesistencia.PersistenciaEstado;
import Componentes.MeuCampoCodigo;
import Estrutura.*;
import Componentes.MeuJTextField;
import Componentes.MeuPainelAba;
import Componentes.MinhaData;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.event.InternalFrameEvent;
import javax.swing.table.DefaultTableModel;

public class TelaCadastroEstado extends TelaCadastro implements ActionListener {
    
    private static TelaCadastroEstado telaCadastroEstado = null;
    private MeuCampoCodigo campoCodigo = new MeuCampoCodigo("Código", true, 5, false);
    private MinhaData campoData = new MinhaData("Data", true);
    private MeuJTextField campoNome = new MeuJTextField("Nome", true, 25);
    private MeuJTextField campoUf = new MeuJTextField("UF", true, 2);
    private JTable tabela;
    private JScrollPane jsp;
    private PersistenciaEstado estado = new PersistenciaEstado();

    private MeuPainelAba abaConsulta = new MeuPainelAba(new GridBagLayout());
    private MeuPainelAba abaCadastro = new MeuPainelAba(new GridBagLayout());
    private JTabbedPane jtp = new JTabbedPane();

    private JPanel painelInterno = new JPanel();
    private JPanel painelInterno2 = new JPanel();
    private JPanel dadosCadastro = new JPanel();

    private JPanel painelItemSelecionadoConsulta = new JPanel();
    private JPanel painelItemSelecionadoCadastro = new JPanel();

    private JLabel consultaSelecionado = new JLabel("Estado Selecionado: Consulta");
    private JLabel cadastroSelecionado = new JLabel("Estado Selecionado: Cadastro");

    public TelaCadastroEstado() {
        super("Cadastro de Estado");
        montaTela();
        preencheTabela();
        pack();
    }

    public void incluir() {
        super.incluir();
        estado.getPk();
        campoCodigo.setText(""+estado.getEstCodigo());
    }

    public static void getTela() {
        if (telaCadastroEstado == null) {
            telaCadastroEstado = new TelaCadastroEstado();
            Principal.jdp.add(telaCadastroEstado);
        }
        Principal.jdp.setSelectedFrame(telaCadastroEstado);
        telaCadastroEstado.requestFocus();
        Principal.jdp.moveToFront(telaCadastroEstado);
    }

    public void montaTela() {

        jtp.addTab("Consulta", abaConsulta);
        jtp.addTab("Cadastro", abaCadastro);
        add(jtp);

//        abaConsulta.painelDireita.add(painelBotoes2);

        abaCadastro.painelDireita.add(painelBotoes);
        painelBotoes.setLayout(new GridLayout(12, 1));
        abaCadastro.painelDireita.setBorder(BorderFactory.createEtchedBorder());

//        adicionarComponente(1,19,1,1, new JPanel(), "", CIMA, abaCadastro.painelEsquerda); //abaCadastro.painelEsquerda
        adicionarComponente(1,18,1,1, campoData, "Data", CIMA, abaCadastro.painelEsquerda);
//        adicionarComponente(2,1,1,1, new JPanel(), "", CIMA, abaCadastro.painelEsquerda);
        adicionarComponente(3,2,1,1, campoCodigo, "Código", CIMA, abaCadastro.painelEsquerda);
//        //adicionarComponente(3,3,1,1, new JPanel(), "", CIMA, abaCadastro.painelEsquerda);
        adicionarComponente(3,4,3,1, campoNome, "Nome", CIMA, abaCadastro.painelEsquerda);
        adicionarComponente(3,11,1,1, campoUf, "UF", CIMA, abaCadastro.painelEsquerda);
//        adicionarComponente(4,1,1,1, new JPanel(), "", CIMA, dadosCadastro);
//        adicionarComponente(5,1,1,1, new JPanel(), "", CIMA, dadosCadastro);
//        adicionarComponente(11,1,1,1, new JPanel(), "", CIMA, dadosCadastro);
//        adicionarComponente(12,1,1,1, new JPanel(), "", CIMA, dadosCadastro);

        String[] colunas = new String[] {"Código", "Data Cadastro", "Nome", "UF"};
        String[][] dados = new String[][] {
        };

        tabela = new JTable(dados, colunas);
        jsp = new JScrollPane(tabela);
        jsp.setPreferredSize(new Dimension (565,300));

        abaConsulta.painelEsquerda.setLayout(new FlowLayout());
        painelInterno.setLayout(new BorderLayout());
        
        abaConsulta.painelEsquerda.add(painelInterno);
        painelInterno.add("Center", jsp);
        painelInterno.add("South", painelItemSelecionadoConsulta);
        painelItemSelecionadoConsulta.add(consultaSelecionado);

//
//        abaCadastro.painelEsquerda.setLayout(new FlowLayout());
//        painelInterno2.setLayout(new GridLayout(5,1));  //BorderLayout());
//
//        abaCadastro.painelEsquerda.add(painelInterno2);
//        painelInterno2.add("Center", dadosCadastro);
//        painelInterno2.add("South", painelItemSelecionadoCadastro);
//        painelItemSelecionadoCadastro.add(cadastroSelecionado);

        painelItemSelecionadoConsulta.setBorder(BorderFactory.createEtchedBorder());
        painelItemSelecionadoCadastro.setBorder(BorderFactory.createEtchedBorder());
//        dadosCadastro.setBorder(BorderFactory.createEtchedBorder());
    }

    public void setPersistencia() {
        estado.setEstCodigo(campoCodigo.getValor());
        estado.setEstData(campoData.getValor());
        estado.setEstNome(campoNome.getText());
        estado.setEstUF(campoUf.getText());
    }

    public void getPersistencia() {
        campoCodigo.setText("" + estado.getEstCodigo());
        campoData.setText(estado.getEstData());
        campoNome.setText(estado.getEstNome());
        campoUf.setText(estado.getEstUF());
    }

    public boolean inserirBD() {
       estado.getPk();
       setPersistencia();
       campoCodigo.setValor(estado.getEstCodigo());
       if (estado.jaCadastrado()) {
         jlLegenda.setText("Atenção, este estado já está cadastrado!");
         return false;
     } else {
       preencheTabela();
       return estado.inserir();
       }
    }

    public boolean alterarBD() {
        setPersistencia();
        preencheTabela();
        return estado.alterar();
    }

    public boolean excluirBD() {
        if (estado.excluir()) {
            limparCampos();
            preencheTabela();
            return true;
        } else {
            return false;
        }
    }

    public boolean consultarBD(int pk) {
        estado.setEstCodigo(pk);
        if (estado.selecionar()) {
            getPersistencia();
            temDadosNaTela = true;
            habilitarBotoes(true);
            return true;
        } else {
            return false;
        }
    }

    public void preencheTabela() {
      DefaultTableModel dtm = new DefaultTableModel();
      tabela.setModel(dtm);
      dtm.addColumn("Código");
      dtm.addColumn("Data Cadastro");
      dtm.addColumn("Nome");
      dtm.addColumn("UF");
      while(dtm.getRowCount() > 0)
          dtm.removeRow(0);
      Vector linhas = estado.pegaDados();
      if (linhas != null) {
         for (int i = 0; i < linhas.size(); i++)
             dtm.addRow((Vector) linhas.get(i));
      }
   }
    

   public void internalFrameClosed(InternalFrameEvent e) {
       Principal.jdp.remove(telaCadastroEstado);
       telaCadastroEstado = null;
       Principal.jmb.setEnabled(true);
  }
}
Criado 9 de outubro de 2011
Ultima resposta 10 de out. de 2011
Respostas 1
Participantes 1