Swing + jpa gostaria de conselhos

bom dia caros colegas do GUJ,
estou tentando construir uma agenda simples de reuniões com swing e jpa.
mas nao consigo fazer nem uma tela simples de cadastro de países, pra aprender a fazer outras maiores;
situação:

fiz uma classe que cria o gui, só cria.
aí vai:

[code]import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class GUICadastraPais extends JFrame {
JLabel lblCodigo;

JLabel lblNome;

JTextField tfCodigo;

JTextField tfNome;

JButton btnGrava;

public GUICadastraPais() {
	lblCodigo = new JLabel("Codigo do País: ");
	lblNome = new JLabel("Nome do País: ");
	tfCodigo = new JTextField(10);
	tfNome = new JTextField(25);
	btnGrava = new JButton("Gravar Dados");

	setLayout(new FlowLayout());
	add(lblCodigo);
	add(tfCodigo);
	add(lblNome);
	add(tfNome);
	add(btnGrava);
	setDefaultCloseOperation(EXIT_ON_CLOSE);
	setSize(300, 200);

}

public void criaGUI() {
	setVisible(true);
}

}
[/code]

e outra que gerencia os eventos e faz a persistencia dos dados:
aí vai:

[code]import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class CadastraPais {
static GUICadastraPais gui;

static Pais pais;

public static void main(String[] args) {
	gui = new GUICadastraPais();
	gui.criaGUI();
	pais = new Pais();

	gui.btnGrava.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent event) {
			int codigo = Integer.parseInt(gui.tfCodigo.getText());
			pais.setCodigo(codigo);
			pais.setNome(gui.tfNome.getText());
			// manager.persist(pais);
			System.out.println(pais.getCodigo());
			System.out.println(pais.getNome());
		}
	});

}

}
[/code]

aqui vai a classe Pais:

[code]public class Pais {
private int codigo;

private String nome;

gets e sets aqui pra baixo;

}
[/code]

só fiz o evento de clicar no botao gravar dados (bem fraco por sinal) para ilustrar.
só coloquei o manager.persist(pais); pra simplificar, pois os meus problemas são com o Swing nao com jpa heheheh
gostaria que me dissessem se é assim que se faz ou como vcs fariam,
qualquer ajuda fico muito grato

até mais!

alguém? : )

Amigo, pelo que entendi, teu problema é de estrutura da aplicação.

Te aconselho a procurari informações a respeito de metodologias tipo MVC ou coisas do tipo.

Mas pra te dar uma mão, vai aí uma estrutura que costumo trabalhar, (existem milhares de forma de se modelar uma aplicação, e como sou iniciante também, não conheço muitas outras :slight_smile: )

Crie classes tipo “pojo” ou “beans” apenas para representar as entidades, como a classe pais que mostrou no post(que vou seguir ela como modelo para as proximas);

Para acesso à base, crie classes DAO, com metodos de inserção, exclusão etc…

Bom a partir daí, depende do grau de complexidade do teu projeto, tu pode fazer classes “services” para fazer as chamadas para os métodos dos DAO’s, assim , caso tu mude um dia de JPA para Hibernate (por exemplo) tu não vai precisar mudar nada nas camadas acima.

Agora, a camada visual, vai chamar apenas os métodos das services, sem contato nenhum com os DAO’s ou os POJO’s

Acho que era isso, espero que tenha ajudado

:thumbup:

olá vhuzalo

deixa eu ver se entendi
somente para cadastrar e alterar um País no banco de dados:

terei que criar uma classe que constroi o GUI,
outra que tem os metodos de acesso ao banco de dados por jpa (PaisDAO),
agora essa classe service eu nao consigo entender pra que ela vai servir…
Desculpa pedir assim descaradamente, mas eu entendo melhor por exemplos : )
vc poderia me passar um exemplo simples dessa estrutura (gui + DAO + Services),
somente com um cadastro de 1 País no banco de dados (eu uso mysql);

Você não imagina como ficarei agradecido, sério mesmo
Até mais