Larback - Retornando conhecimento

Seja como este site, tenha estilo.

Manipulação de dados - Swing + mysql

Abaixo as classes utilizadas como exemplo em sala de aula. Qualquer dúvida, postem no fórum.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ControleDAO {
	private final String url = "jdbc:mysql://127.0.0.1/aula_java";
	private final String usuario = "root";
	private final String senha="bms2shg322563";
	
	private boolean conectado=false;
	
	public Connection conexao() throws ClassNotFoundException{
		Connection con = null;
		Class.forName("com.mysql.jdbc.Driver");
		try {
			con = DriverManager.getConnection(url,usuario,senha);
			conectado=true;
		} catch(SQLException sq){
			System.out.println("Ocorreu uma exceção durante a conexão com o servidor. Verifique. "+sq.getMessage());
			conectado=false;
		}
		return con;
	}
	
	public boolean 	novoRegistro(Connection conn, String nome, String email){
		if (conectado){
			try{
				Statement stm = conn.createStatement();
				stm.executeUpdate("insert into cadastro (nome,email) values ('"+nome+"','"+email+"')");
				return true;
				
			} catch(SQLException sq){
				System.out.println("Ocorreu um erro durante a inclusão. Verifique: "+sq.getMessage());
				return false;
			}
		} else{
			System.out.println("Faça a conexão primeiro.");
			return false;
		}
	}
	
	public boolean 	delByCod(Connection conn, int cod){
		if (conectado){
			try{
				Statement stm = conn.createStatement();
				stm.executeUpdate("delete from cadastro where codigo="+cod);
				return true;
				
			} catch(SQLException sq){
				System.out.println("Ocorreu um erro durante a exclusão. Verifique: "+sq.getMessage());
				return false;
			}
		} else{
			System.out.println("Faça a conexão primeiro.");
			return false;
		}
	}
	
	public ResultSet getAll(Connection conn){
		ResultSet rs = null;
		if (conectado){
			try{
				Statement stm = conn.createStatement();
				rs = stm.executeQuery("select * from cadastro order by codigo");
				rs.next();
			} catch(SQLException sq){
				System.out.println("Ocorreu um erro durante a seleção dos dados. Verifique: "+sq.getMessage());
				
			}
		} else{
			System.out.println("Faça a conexão primeiro.");
			
		}
		return rs;
	}
	
}

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

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

public class Cadastro extends JFrame implements ActionListener {
	private static final long serialVersionUID = 1L;
	JTextField jtCodigo = new JTextField(10);
	JTextField jtNome = new JTextField(40);
	JTextField jtEmail = new JTextField(40);
	JLabel jlNome = new JLabel("Nome");
	JLabel jlEmail = new JLabel("E-mail");
	JLabel jlCodigo = new JLabel("Código");
	JLabel jlPadding = new JLabel("                                                                                ");
	
	JButton jbPrimeiro = new JButton("Primeiro");
	JButton jbAnterior = new JButton("Anterior");
	JButton jbProximo = new JButton("Próximo");
	JButton jbUltimo = new JButton("Último");
	JButton jbNovo = new JButton("Novo");
	JButton jbSalvar = new JButton("Salvar");
	
	ResultSet rs = null;
	Connection con=null;
	ControleDAO dao = new ControleDAO();
	
	public Cadastro() {
		setLayout(new FlowLayout(FlowLayout.RIGHT));
		setTitle("Cadastro");
		jtCodigo.setDisabledTextColor(Color.BLACK);
		add(jlCodigo);
		add(jtCodigo);
		add(jlPadding);
		add(jlNome);
		add(jtNome);
		add(jlEmail);
		add(jtEmail);
		add(jbPrimeiro);
		add(jbAnterior);
		add(jbProximo);
		add(jbUltimo);
		add(jbNovo);
		add(jbSalvar);
		jbSalvar.setEnabled(false);
		setSize(500,213);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setResizable(false);
		setVisible(true);
		
		try {
			con = dao.conexao();
		} catch (ClassNotFoundException e) {
			System.out.println("Erro ao carregar o driver");
		}
		
		rs = dao.getAll(con);
		exibeDados();
		
		jbPrimeiro.addActionListener(this);
		jbProximo.addActionListener(this);
		jbAnterior.addActionListener(this);
		jbUltimo.addActionListener(this);
		jbNovo.addActionListener(this);
		jbSalvar.addActionListener(this);
	}
	public static void main(String []args){
		new Cadastro();
	}
	public void exibeDados(){
		try{
			jtCodigo.setText(rs.getString("codigo"));
			jtNome.setText(rs.getString("nome"));
			jtEmail.setText(rs.getString("email"));
		} catch(SQLException sq){
			System.out.println("Ocorreu um erro inesperado. Verifique: "+sq.getMessage());
		}
	}
	@Override
	public void actionPerformed(ActionEvent obj) {
		if (obj.getSource()== jbProximo){
			try {
				if (!rs.isAfterLast()){
					rs.next();
					exibeDados();
				}
			} catch (SQLException e) {
				System.out.println(e.getMessage());
			}			
		}
		if (obj.getSource()== jbAnterior){
			try {
				if (!rs.isBeforeFirst()){
					rs.previous();
					exibeDados();
				}
			} catch (SQLException e) {
				System.out.println(e.getMessage());
			}
		}
		if (obj.getSource()== jbPrimeiro){
			try {
				rs.first();
				exibeDados();
			} catch (SQLException e) {
				System.out.println(e.getMessage());
			}
		}
		if (obj.getSource()== jbUltimo){
			try {
				rs.last();
				exibeDados();
			} catch (SQLException e) {
				System.out.println(e.getMessage());
			}
			
		}
		if (obj.getSource()==jbNovo){
			jtCodigo.setText("[automático]");
			jtCodigo.setEnabled(false);
			jtNome.setText("");
			jtEmail.setText("");
			jbNovo.setEnabled(false);
			jbSalvar.setEnabled(true);
		}
		
		if (obj.getSource()==jbSalvar){
			if (dao.novoRegistro(con, jtNome.getText(), jtEmail.getText())){
				JOptionPane.showMessageDialog(null, "Dados salvos com sucesso.");
			} else
				JOptionPane.showMessageDialog(null, "Ocorreu um erro.");
			rs = dao.getAll(con);
			try{
				rs.last();
			}catch(SQLException sq){
				System.out.println(sq.getMessage());
			}
			exibeDados();
			jbSalvar.setEnabled(false);
			jbNovo.setEnabled(true);
		}
	}
}