Ir ao conteúdo

Ajuda com JTable


RAFAEL BARRETO

Posts recomendados

Postado


import java.awt.Color;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.JButton;
import javax.swing.SwingConstants;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Aplicacao_Trabalho_Final extends JFrame {

/**
*
*/
private static final long serialVersionUID = 1L;

private Clientes raiz;

private JPanel contentPane;
private JTextField tf_Telefone;
private JTextField tf_CPF;
private JTextField tf_Codigo;
private JTextField tf_Nome;
private JTable table;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Aplicacao_Trabalho_Final frame = new Aplicacao_Trabalho_Final();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Aplicacao_Trabalho_Final() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 507, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);

JPanel Painel_Botoes = new JPanel();

JPanel Painel_Registro = new JPanel();

JScrollPane scrollPane = new JScrollPane();
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addComponent(Painel_Registro, GroupLayout.DEFAULT_SIZE, 481, Short.MAX_VALUE)
.addComponent(Painel_Botoes, GroupLayout.DEFAULT_SIZE, 481, Short.MAX_VALUE)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 481, GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(Painel_Botoes, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(2)
.addComponent(Painel_Registro, GroupLayout.PREFERRED_SIZE, 122, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 92, GroupLayout.PREFERRED_SIZE)
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

table = new JTable();
table.setModel(new DefaultTableModel(
new Object[][] {

},
new String[] {
"Codigo", "Nome", "CPF", "Telefone"

}
));

table.setBorder(new LineBorder (Color.green));
table.setGridColor(Color.green);
table.setShowGrid(true);

scrollPane.setViewportView(table);


table.getColumnModel().getColumn(0).setPreferredWidth(20);
table.getColumnModel().getColumn(1).setPreferredWidth(150);
table.getColumnModel().getColumn(2).setPreferredWidth(70);
table.getColumnModel().getColumn(3).setPreferredWidth(70);




JLabel label = new JLabel("");

JLabel lblNome = new JLabel("Nome");

JLabel lblCdigo = new JLabel("C\u00F3digo");

JLabel lblCpf = new JLabel("CPF");

JLabel lblTelefone = new JLabel("Telefone");

tf_Telefone = new JTextField();
tf_Telefone.setColumns(10);

tf_CPF = new JTextField();
tf_CPF.setColumns(10);

tf_Codigo = new JTextField();
tf_Codigo.setColumns(10);

tf_Nome = new JTextField();
tf_Nome.setColumns(10);

JButton btnInserir = new JButton("Inserir");
btnInserir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
inserir();
}
});

JButton btnCancelar = new JButton("Cancelar");
btnCancelar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Runtime.getRuntime();
}
});
GroupLayout gl_Painel_Registro = new GroupLayout(Painel_Registro);
gl_Painel_Registro.setHorizontalGroup(
gl_Painel_Registro.createParallelGroup(Alignment.LEADING)
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addGroup(gl_Painel_Registro.createParallelGroup(Alignment.LEADING)
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addGap(212)
.addComponent(label))
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addContainerGap()
.addGroup(gl_Painel_Registro.createParallelGroup(Alignment.LEADING)
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addComponent(lblNome, GroupLayout.PREFERRED_SIZE, 42, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(tf_Nome, GroupLayout.DEFAULT_SIZE, 425, Short.MAX_VALUE))
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addGroup(gl_Painel_Registro.createParallelGroup(Alignment.LEADING, false)
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addComponent(lblCdigo)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(tf_Codigo))
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addComponent(lblCpf)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(tf_CPF))
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addComponent(lblTelefone)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(tf_Telefone, GroupLayout.PREFERRED_SIZE, 148, GroupLayout.PREFERRED_SIZE)))
.addGap(32)
.addComponent(btnInserir)
.addGap(18)
.addComponent(btnCancelar)))))
.addContainerGap())
);
gl_Painel_Registro.setVerticalGroup(
gl_Painel_Registro.createParallelGroup(Alignment.LEADING)
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addGap(5)
.addComponent(label)
.addGroup(gl_Painel_Registro.createParallelGroup(Alignment.LEADING)
.addGroup(gl_Painel_Registro.createSequentialGroup()
.addGap(9)
.addComponent(lblNome)
.addPreferredGap(ComponentPlacement.RELATED))
.addGroup(Alignment.TRAILING, gl_Painel_Registro.createSequentialGroup()
.addPreferredGap(ComponentPlacement.RELATED, 9, Short.MAX_VALUE)
.addComponent(tf_Nome, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(6)))
.addGroup(gl_Painel_Registro.createParallelGroup(Alignment.BASELINE)
.addComponent(tf_Codigo, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblCdigo))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_Painel_Registro.createParallelGroup(Alignment.BASELINE)
.addComponent(lblCpf)
.addComponent(tf_CPF, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(btnInserir)
.addComponent(btnCancelar))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_Painel_Registro.createParallelGroup(Alignment.BASELINE)
.addComponent(lblTelefone)
.addComponent(tf_Telefone, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
gl_Painel_Registro.linkSize(SwingConstants.HORIZONTAL, new Component[] {lblNome, lblCdigo, lblCpf, lblTelefone});
gl_Painel_Registro.linkSize(SwingConstants.HORIZONTAL, new Component[] {btnInserir, btnCancelar});
Painel_Registro.setLayout(gl_Painel_Registro);

//dtm.addRow(new Object[]{"","","","",""});

JButton btnPesquisar = new JButton("Pesquisar");
btnPesquisar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
busca();
}
});

JButton btnDeletar = new JButton("Deletar");
btnDeletar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
delete();
}
});

JButton btnInorder = new JButton("InOrder");
btnInorder.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
travessia(2);

}
});

JButton btnPreorder = new JButton("PreOrder");
btnPreorder.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
travessia(1);
}
});

JButton btnPosorder = new JButton("PosOrder");
btnPosorder.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
travessia(3);
}
});
GroupLayout gl_Painel_Botoes = new GroupLayout(Painel_Botoes);
gl_Painel_Botoes.setHorizontalGroup(
gl_Painel_Botoes.createParallelGroup(Alignment.LEADING)
.addGroup(gl_Painel_Botoes.createSequentialGroup()
.addComponent(btnPesquisar)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnDeletar)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnInorder)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnPreorder)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnPosorder)
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
gl_Painel_Botoes.setVerticalGroup(
gl_Painel_Botoes.createParallelGroup(Alignment.LEADING)
.addGroup(gl_Painel_Botoes.createSequentialGroup()
.addGroup(gl_Painel_Botoes.createParallelGroup(Alignment.BASELINE)
.addComponent(btnPesquisar)
.addComponent(btnDeletar)
.addComponent(btnInorder)
.addComponent(btnPreorder)
.addComponent(btnPosorder))
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
gl_Painel_Botoes.linkSize(SwingConstants.VERTICAL, new Component[] {btnPesquisar, btnDeletar, btnInorder, btnPreorder, btnPosorder});
gl_Painel_Botoes.linkSize(SwingConstants.HORIZONTAL, new Component[] {btnPesquisar, btnDeletar, btnInorder, btnPreorder, btnPosorder});
Painel_Botoes.setLayout(gl_Painel_Botoes);
contentPane.setLayout(gl_contentPane);

this.raiz = new Clientes();
}

private void inserir() {

String codigoSTR = tf_Codigo.getText();
double codigo = Double.parseDouble(codigoSTR);
String nome= tf_Nome.getText();
String cpf = tf_CPF.getText();
String telefone =tf_Telefone.getText();

Clientes novoNo = new Clientes();

novoNo.setCodigo(codigo);
novoNo.setNome(nome);
novoNo.setCpf(cpf);
novoNo.setTelefone(telefone);

if (raiz == null)

raiz = novoNo;
else
{
Clientes atual = raiz;
Clientes parente;
while (true)
{
parente = atual;
if (codigo < atual.getCodigo())
{
atual = atual.getFilhosDaEsquerda();
if (atual == null)
{
parente.setFilhosDaEsquerda(novoNo);
return;
}
}
else
{
atual = atual.getFilhosDaDireita();
if (atual == null)
{
parente.setFilhosDaDireita(novoNo);
return;
}
}
}
}
}

private void travessia(int tipoTravessia) {
switch (tipoTravessia) {
case 1:
preOrder(raiz);
break;
case 2:
inOrder(raiz);
break;
case 3:
posOrder(raiz);
break;
}
}
private void preOrder(Clientes localraiz) {
if (localraiz != null) {
localraiz.mostraNo();
preOrder(localraiz.getFilhosDaEsquerda());
preOrder(localraiz.getFilhosDaDireita());
}
}


private void inOrder(Clientes localraiz) {
if (localraiz != null) {
inOrder(localraiz.getFilhosDaEsquerda());
localraiz.mostraNo();
inOrder(localraiz.getFilhosDaDireita());
}
}

private void posOrder(Clientes localraiz) {
if (localraiz != null) {
posOrder(localraiz.getFilhosDaEsquerda());
posOrder(localraiz.getFilhosDaDireita());
localraiz.mostraNo();
}
}

private Clientes busca(){
JOptionPane.showInputDialog("Forneça o Código");
String codSTR = tf_Codigo.getText();
double cod = Double.parseDouble(codSTR);

Clientes atual = raiz;

while (atual.getCodigo() != cod)
{
if (cod < atual.getCodigo())

atual = atual.getFilhosDaEsquerda();

else

atual = atual.getFilhosDaDireita();


if (atual == null)
return null;
JOptionPane.showMessageDialog(null, "Nenhum Resultado");

}

return atual;
}

private boolean delete()
{
JOptionPane.showInputDialog("Forneça o Código");
String chaveSTR = tf_Codigo.getText();
double chave = Double.parseDouble(chaveSTR);

Clientes atual = raiz;
Clientes parente = raiz;

boolean eFilhosDaEsquerda = true;

while (atual.getCodigo() != chave)
{
parente = atual;
if (chave < atual.getCodigo())
{
eFilhosDaEsquerda = true;
atual = atual.getFilhosDaEsquerda();
} else
{
eFilhosDaEsquerda = false;
atual = atual.getFilhosDaDireita();
}
if (atual == null)
return false;
}


if (atual.getFilhosDaEsquerda() == null && atual.getFilhosDaDireita() == null) {
if (atual == raiz)
raiz = null;
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(null);
else

parente.setFilhosDaDireita(null);
}


else if (atual.getFilhosDaDireita() == null)
if (atual == raiz)
raiz = atual.getFilhosDaDireita();
else if (eFilhosDaEsquerda)
parente.setFilhosDaDireita(atual.getFilhosDaEsquerda());
else
parente.setFilhosDaDireita(atual.getFilhosDaDireita());

else if (atual.getFilhosDaEsquerda() == null)
if (atual == raiz)
raiz = atual.getFilhosDaDireita();
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(atual.getFilhosDaDireita());
else
parente.setFilhosDaDireita(atual.getFilhosDaDireita());

else
{

Clientes successor = getSuccessor(atual);

if (atual == raiz)
raiz = successor;
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(successor);
else
parente.setFilhosDaDireita(successor);

successor.setFilhosDaDireita(atual.getFilhosDaDireita());
}

return true;
}

private Clientes getSuccessor(Clientes deleteNo) {
Clientes sucessorParente = deleteNo;
Clientes sucessor = deleteNo;
Clientes atual = deleteNo.getFilhosDaDireita();
while (atual != null){
sucessorParente = sucessor;
sucessor = atual;
atual = atual.getFilhosDaDireita();
}
if (sucessor != deleteNo.getFilhosDaDireita()){
sucessorParente.setFilhosDaDireita(sucessor.getFilhosDaDireita());
sucessor.setFilhosDaDireita(deleteNo.getFilhosDaDireita());

}
JOptionPane.showMessageDialog(null, "Removido Com Sucesso");
return sucessor;

}

}

porém eu nunca usei o jTable, não sei nen como começar, eu usei o windowbuilder pra fazer a tela, o problema é que eu não sei como inseir dados no jTable... se puderem ajudar ficarei mt grato... desde já agradeço a todos pela colaboração... abraços

desculpa o titulo tá errado é Jtable

Postado

ví sim, mas ainda tô em duvida, vou te passar todas as clases... abrigado...


package br.unipac.trabalho_final;

public class Clientes {

private double codigo;
private String nome;
private String cpf;
private String telefone;
private Clientes filhosDaEsquerda;
private Clientes filhosDaDireita;


public Clientes getFilhosDaEsquerda() {
return filhosDaEsquerda;
}
public void setFilhosDaEsquerda(Clientes filhosDaEsquerda) {
this.filhosDaEsquerda = filhosDaEsquerda;
}
public Clientes getFilhosDaDireita() {
return filhosDaDireita;
}
public void setFilhosDaDireita(Clientes filhosDaDireita) {
this.filhosDaDireita = filhosDaDireita;
}

public double getCodigo() {
return codigo;
}
public void setCodigo(double codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}

public void mostraNo(){

System.out.print("{");
System.out.print(codigo);
System.out.print(", ");
System.out.print(nome);
System.out.print(", ");
System.out.print(cpf);
System.out.print(", ");
System.out.print(telefone);
System.out.print("} ");

}


}
classe Clientes

package br.unipac.trabalho_final;


public class Insere_Dados_Cliente {

private Clientes raiz;

public Insere_Dados_Cliente(){
raiz = null;
}

public void insere(int codigo, String nome, String cpf, String telefone) {

Clientes novoNo = new Clientes();

novoNo.setCodigo(codigo);
novoNo.setNome(nome);
novoNo.setCpf(cpf);
novoNo.setTelefone(telefone);

if (raiz == null)

raiz = novoNo;
else
{
Clientes atual = raiz;
Clientes parente;
while (true)
{
parente = atual;
if (codigo < atual.getCodigo())
{
atual = atual.getFilhosDaEsquerda();
if (atual == null)
{
parente.setFilhosDaEsquerda(novoNo);
return;
}
}
else
{
atual = atual.getFilhosDaDireita();
if (atual == null)
{
parente.setFilhosDaDireita(novoNo);
return;
}
}
}
}
}


public boolean delete(int chave)
{
Clientes atual = raiz;
Clientes parente = raiz;

boolean eFilhosDaEsquerda = true;

while (atual.getCodigo() != chave)
{
parente = atual;
if (chave < atual.getCodigo())
{
eFilhosDaEsquerda = true;
atual = atual.getFilhosDaEsquerda();
} else
{
eFilhosDaEsquerda = false;
atual = atual.getFilhosDaDireita();
}
if (atual == null)
return false;
}


if (atual.getFilhosDaEsquerda() == null && atual.getFilhosDaDireita() == null) {
if (atual == raiz)
raiz = null;
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(null);
else

parente.setFilhosDaDireita(null);
}


else if (atual.getFilhosDaDireita() == null)
if (atual == raiz)
raiz = atual.getFilhosDaDireita();
else if (eFilhosDaEsquerda)
parente.setFilhosDaDireita(atual.getFilhosDaEsquerda());
else
parente.setFilhosDaDireita(atual.getFilhosDaDireita());

else if (atual.getFilhosDaEsquerda() == null)
if (atual == raiz)
raiz = atual.getFilhosDaDireita();
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(atual.getFilhosDaDireita());
else
parente.setFilhosDaDireita(atual.getFilhosDaDireita());

else
{

Clientes successor = getSuccessor(atual);

if (atual == raiz)
raiz = successor;
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(successor);
else
parente.setFilhosDaDireita(successor);

successor.setFilhosDaDireita(atual.getFilhosDaDireita());
}

return true;
}

private Clientes getSuccessor(Clientes deleteNo) {
Clientes sucessorParente = deleteNo;
Clientes sucessor = deleteNo;
Clientes atual = deleteNo.getFilhosDaDireita();
while (atual != null){
sucessorParente = sucessor;
sucessor = atual;
atual = atual.getFilhosDaDireita();
}
if (sucessor != deleteNo.getFilhosDaDireita()){
sucessorParente.setFilhosDaDireita(sucessor.getFilhosDaDireita());
sucessor.setFilhosDaDireita(deleteNo.getFilhosDaDireita());
}
return sucessor;
}


public void travessia(int tipoTravessia) {
switch (tipoTravessia) {
case 1:
System.out.print("\nTravessia usando Preorder.\n ");
preOrder(raiz);
break;
case 2:
System.out.print("\nTravessia usando Inorder.\n ");
inOrder(raiz);
break;
case 3:
System.out.println("\nTravessia usando Postorder. ");
posOrder(raiz);
break;
}
System.out.println();
}


private void preOrder(Clientes localraiz) {
if (localraiz != null) {
localraiz.mostraNo();
preOrder(localraiz.getFilhosDaEsquerda());
preOrder(localraiz.getFilhosDaDireita());
}
}


private void inOrder(Clientes localraiz) {
if (localraiz != null) {
inOrder(localraiz.getFilhosDaEsquerda());
localraiz.mostraNo();
inOrder(localraiz.getFilhosDaDireita());
}
}

private void posOrder(Clientes localraiz) {
if (localraiz != null) {
posOrder(localraiz.getFilhosDaEsquerda());
posOrder(localraiz.getFilhosDaDireita());
localraiz.mostraNo();
}
}


public Clientes busca(int cod)
{
Clientes atual = raiz;
while (atual.getCodigo() != cod)
{
if (cod < atual.getCodigo())

atual = atual.getFilhosDaEsquerda();

else

atual = atual.getFilhosDaDireita();


if (atual == null)

return null;

}
return atual;
}
}


Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!