Como crio uma JTable no netbeans e coloco os dados de uma tabela do banco de dados nela??
Ñ consigo fazer isso lá!!
Alguém pode ajudar??
vlw
Como crio uma JTable no netbeans e coloco os dados de uma tabela do banco de dados nela??
Ñ consigo fazer isso lá!!
Alguém pode ajudar??
vlw
Bem, o seu problema se divide em duas partes: você precisa aprender a fazer acesso a banco de dados e a programar sua interface Swing. Em ambos os casos, a menos que você esteja fazendo uma aplicação “de brinquedo” e extremamente pequena, você vai querer abstrair ambas as coisas.
Com respeito ao banco de dados, normalmente queremos trabalhar com objetos. Para isso, existem frameworks e APIs de mapeamento objeto-relacional (ORM) que simplificam muito esse processo. Uma opção seria usar o padrão, JPA - que possui excelente suporte no NetBeans. Outra opção é utilizar diretamente uma implementação, como o Hibernate. Existe muita documentação sobre esse assunto, inclusive em português.
Para abstrair a programação da interface, você deve utilizar um framework de binding, como o genesis. A documentação possui um exemplo de como popular uma JTable a partir de uma java.util.List. Caso tenha mais dúvidas, é só perguntar.
Kra…
eu tenho minha tabela funcionando…
ta fazendo oq eu quero…
mas vc falou de uma porrada de coisa…acho q a minha ta certo mas ta errado…
ñ uso nda dessas paradas de hibernate e tal…nem sei oq é isso…
agora vc me criou 300 dúvidas
Se você queria popular UMA tabela e sua aplicação é só isso, você pode confortavelmente ignorar tudo que te falei, com certeza. Agora, se você vai desenvolver um sistema, é quase certo que é melhor você estudar as tecnologias que mencionei.
Olá mister__m
Estou tentando fazer a mesma coisa que o gbazilio, mas como ele ainda não obtive nenhum sucesso.
Minhas classes são:
@Entity
@Table(name = "person")
public class Person implements Serializable {
@Id @GeneratedValue
@Column(name = "person_id")
private Long id;
@Column(name = "age")
private int age;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
//Getters and Setters
}
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new AnnotationConfiguration().buildSessionFactory();
} catch (Throwable ex) {
// Log exception!
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession() throws HibernateException {
return sessionFactory.openSession();
}
}
public class PersonDAO extends AbstractHibernateCommand{
private Session session;
...
@Remotable
public List consultar(){
session = ConnectDB.getInstance();
List pessoas = session.createQuery("from Person").list();
return pessoas;
}
public class PersonAction {
...
private Person person;
@DataProvider(objectField="person")
public List consultar(){
PersonDAO personDAO = new PersonDAO();
return personDAO.consultar();
}
}
public class ConsultaPerson extends javax.swing.JDialog {
/** Creates new form ConsultaPerson */
private JPanel panelCentro;
private JTable personTable;
private SwingBinder binder;
public ConsultaPerson() {
super();
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(800,600);
this.setLocationRelativeTo(null);
this.setTitle("Consulta de Pessoas");
setModal(true);
init();
}
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 517, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 381, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void init(){ // definição dos componentes
this.getContentPane().setLayout(new BorderLayout());
PersonAction personAction = new PersonAction();
List pessoa = personAction.consultar();
TableColumnModel columnModel = new DefaultTableColumnModel();
TableModel model = new DefaultTableModel();
personTable = new JTable(new DefaultTableModel(new String[] {"Id", "Age", "First Name", "Last Name"}, 0));
personTable.setName("person");
personTable.putClientProperty(SwingBinder.COLUMN_NAMES, new String[] {"person_id", "age", "first_name", "last_name"});
panelCentro=new JPanel();
panelCentro.setVisible(true);
panelCentro.add(personTable);
this.getContentPane().add(panelCentro, BorderLayout.CENTER);
}
}
Sou iniciante em java e este é meu primeiro uso do JTable + Hibernate + Genesis :oops:
Onde estou errando? Na tela nem chega a mostrar a tabela, mesmo que vazia.
Desde já agradeço!!!
acho q a minha ta certo mas ta errado…:?: :roll:
Olá mister__m
Estou tentando fazer a mesma coisa que o gbazilio…
Respondido aqui.
Valeu mesmo, vou dar uma estudada nos materiais.
Obrigado Mr. Mmmmm…
Você realmente é FANTÁSTICOOOO 