Boa tarde galera,
Estou com um problema que pra muitos de vocês será até fácil pra me ajudar a resolver.
É o seguinte: Tenho uma agenda, que cadastra Nome, Idade e o Telefone do contato. Esses dados são gravados em um ArrayList.
Meu programa também faz busca de contatos por nome, lista todos os contatos da agenda e remove contatos, buscando por nome.
O que eu queria é que, quando eu desse um clique em Listar Contatos, Buscar Contatos ou Remover Contatos, os contatos da agenda aparecessem dentro do meu JTable.
Eu estou apanhando pra conseguir fazer isso, e nada! Até agora eu só consegui criar o JTable, mas não consegui em mais nada. Informações e exemplos disso na internet está em falta.
Será que alguém consegue me ajudar?
Vou postar aqui a classe PanelTable e a Tratadora de Eventos que eu tenho. Acho que é com elas que eu vou fazer isso.
PanelTable
[code]import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class PanelTable extends JPanel {
private JTable table;
private JButton exit;
private JPanel panel1;
private TratadorAgenda listener;
private JScrollPane scroll;
//private String[] columns = {“Name”, “Age”, “Phone”};
public PanelTable(){
table = new JTable(10,3);
exit = new JButton("Exit System");
panel1 = new JPanel(new FlowLayout(FlowLayout.CENTER,0,10));
listener = new TratadorAgenda(exit, this);
scroll = new JScrollPane(table);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scroll.setPreferredSize(new Dimension(480,200));
exit.addActionListener(listener);
panel1.add(exit);
add(scroll);
add(panel1);
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
}
}[/code]
TratadorAgenda
[code]import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JOptionPane;
public class TratadorAgenda implements ActionListener {
private JButton add, search, list, remove, exit;
private Agenda agenda = new Agenda();
private Contact contact;
private PanelCad set;
// private PanelTable tab;
public TratadorAgenda(JButton add, JButton search, JButton list,
JButton remove, PanelCad set) {
this.add = add;
this.search = search;
this.list = list;
this.remove = remove;
this.set = set;
}
public TratadorAgenda(JButton exit, PanelTable tab) {
this.exit = exit;
// this.tab = tab;
}
public void addContact() {
contact = new Contact();
contact.setName(set.getNome());
contact.setAge(set.getAge());
contact.setPhone(set.getPhone());
try {
agenda.addContact(contact);
} catch (IOException e) {
e.printStackTrace();
}
set.setStatus("Contact successfully added!");
}
public void searchContact() {
String nome = set.getNome();
Contact c = agenda.searchContact(nome);
if (c != null) {
System.out.println("Name: " + c.getName());
System.out.println("Age: " + c.getAge());
System.out.println("Phone: " + c.getPhone());
} else {
set.setStatus("Contact not found!");
}
}
public void listContact() {
List<Contact> contact = agenda.getContacts();
if (agenda.quantity() == 0){
set.setStatus("Your agenda is empty! Add contacts!");
}
for (Contact a : contact) {
System.out.println("Name: " + a.getName());
System.out.println("Age: " + a.getAge());
System.out.println("Phone: " + a.getPhone());
}
}
public void removeContact() {
String name = set.getNome();
if (agenda.exists(name) == true) {
Contact c = agenda.searchContact(name);
int choice = JOptionPane.showConfirmDialog(null,
"Remove contact from agenda?", "Removing",
JOptionPane.YES_NO_OPTION);
if (choice == JOptionPane.YES_OPTION) {
agenda.removeContact(name);
set.setStatus("Contact successfully removed!");
if (c != null) {
System.out.println("Name: " + c.getName());
System.out.println("Age: " + c.getAge());
System.out.println("Phone: " + c.getPhone());
}
if (choice == JOptionPane.NO_OPTION) {
set.setStatus("Action Cancelled!");
} else {
}
} else {
set.setStatus("Contact not found!");
}
}
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == add) {
addContact();
}
if (e.getSource() == search) {
searchContact();
}
if (e.getSource() == list) {
listContact();
}
if (e.getSource() == remove) {
removeContact();
}
if (e.getSource() == exit) {
System.exit(0);
}
}
}[/code]
Espero que não seja dificil… Obrigado!