Olá pessoal comecei estudar a Swing fiz uma sistema de formulário bem simples, gostaria de saber como insiro evento nos botões. Estou querendo usar uma classe separada para adicionar os eventos.
Formulario.java
[code]import java.awt.Cursor;
import java.awt.Dimension;
import java.util.Calendar;
import java.util.Date;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JProgressBar;
import javax.swing.JRadioButton;
import javax.swing.JSeparator;
import javax.swing.JSlider;
import javax.swing.JSpinner;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.SpinnerDateModel;
/**
*
-
@author Mauro
*/
public class Formulario extends JFrame{
static final int FPS_MIN = 0;
static final int FPS_MAX = 100;
static final int FPS_INIT = 50;
//Campos a serem criados
//Rotulo
private JLabel lblTitulo, lblRa, lblNome, lblEndereco, lblSexo, lblFoto, lblDesempenho, lblSenha, lblDisciplinas, lblEntrada, lblProgresso;
//Caixa de Texto
private JTextField tfRa, tfNome, tfEndereco;
//Radio Group
private ButtonGroup btsexo;
private JRadioButton rbmasculino, rbfeminino;
//ComboBox
private JComboBox cbFoto;
String[] foto = {"Masculino", "Feminino"};
//Buttons
private JButton btEnviar, btSair;
//JSlider
private JSlider sDesempenho;
//JSeparetor
private JSeparator lnLinha;
//Password
private JPasswordField psSenha;
//Disciplina
private JList jlDisciplina;
String[] disciplinas = {"Banco de dados", "Java"};
//Entrada
private JSpinner jpEntrada;
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DATE);
//Progresso
private JProgressBar jpbProgresso;
//Painel
private JTabbedPane jtpPainel;
//Eventos
Evento mouse = new Evento();
public Formulario(){
//Titulo da Janela
setTitle("Cadastro de Alunos");
//Tamanho da Janela, largura e altura
setPreferredSize(new Dimension(500,700));
//Tipo de Layout
setLayout(null);
//Metodo para criar componetes
CriarComponetes();
//Metodo de adicionar metodos
AdicionarMetodos();
//Cofigura posições na tela
ConfiguraPosicoes();
//Pack
pack();
//Fechar
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Mostra ou não a janela
setVisible(true);
}
private void CriarComponetes() {
//Titul
lblTitulo = new JLabel("Cadastro de Alunos");
//Ra
lblRa = new JLabel("Ra");
tfRa = new JTextField(10);
//Nome
lblNome = new JLabel("Nome");
tfNome = new JTextField(20);
//Endereço
lblEndereco = new JLabel("Endereço");
tfEndereco = new JTextField(20);
//Sexo
lblSexo = new JLabel("Sexo");
btsexo = new ButtonGroup();
rbmasculino = new JRadioButton("Masculino");
rbfeminino = new JRadioButton("Feminino");
//ComboBox
lblFoto = new JLabel("Foto");
cbFoto = new JComboBox(foto);
//JSeparetor
lnLinha = new JSeparator();
//Slider
lblDesempenho = new JLabel("Desempenho");
sDesempenho = new JSlider(JSlider.HORIZONTAL,FPS_MIN, FPS_MAX, FPS_INIT);
//Senha
lblSenha = new JLabel("Senha");
psSenha = new JPasswordField(10);
//Disciplina
lblDisciplinas = new JLabel("Disciplina");
jlDisciplina = new JList(disciplinas);
//Entrada
lblEntrada = new JLabel("Entrada");
Date date = new Date(year-1900, month, day);
SpinnerDateModel sm = new SpinnerDateModel(date, null, null,Calendar.DAY_OF_MONTH);
jpEntrada = new JSpinner(sm);
//Progresso
lblProgresso = new JLabel("Progresso");
jpbProgresso = new JProgressBar();
//Painel
jtpPainel = new JTabbedPane();
jtpPainel.add(new JPanel(), "Telefones");
jtpPainel.add(new JPanel(), "Mensalidades");
//Botoes
btEnviar = new JButton("Enviar");
btSair = new JButton("Sair");
}
private void AdicionarMetodos() {
//Titulo
add(lblTitulo);
//Ra
add(lblRa);
add(tfRa);
//Nome
add(lblNome);
add(tfNome);
//Endereço
add(lblEndereco);
add(tfEndereco);
//Sexo
add(lblSexo);
add(rbmasculino);
add(rbfeminino);
btsexo.add(rbmasculino);
btsexo.add(rbfeminino);
//Foto
add(lblFoto);
add(cbFoto);
//Separator
add(lnLinha);
//Slider
add(lblDesempenho);
add(sDesempenho);
//Senha
add(lblSenha);
add(psSenha);
//Disciplinas
add(lblDisciplinas);
add(jlDisciplina);
//Entrada
add(lblEntrada);
add(jpEntrada);
//Progresso
add(lblProgresso);
add(jpbProgresso);
//Painel
add(jtpPainel);
//Botoes
add(btEnviar);
add(btSair);
}
private void ConfiguraPosicoes() {
//Posição x, Posição y, Largura, Altura
lblTitulo.setBounds(200, 20, 200, 10);
//Ra
lblRa.setBounds(10, 50, 50, 20);
tfRa.setBounds(60, 50, 100, 20);
//Nome
lblNome.setBounds(10, 80, 50, 20 );
tfNome.setBounds(60, 80, 100, 20 );
//Endereço
lblEndereco.setBounds(10,110, 70, 20);
tfEndereco.setBounds(90, 110, 100, 20);
//Sexo
lblSexo.setBounds(10, 140, 50, 20);
rbmasculino.setBounds(20, 170, 100, 20);
rbfeminino.setBounds(20, 200, 100, 20);
//Foto
lblFoto.setBounds(300, 80, 50, 20);
cbFoto.setBounds(300, 110, 120, 20);
//Linha
lnLinha.setBounds(10,230, 470, 10);
//Desempenho
lblDesempenho.setBounds(10, 260, 90, 20);
sDesempenho.setBounds(100, 260, 300, 50);
sDesempenho.setMajorTickSpacing(100);
sDesempenho.setMinorTickSpacing(1);
sDesempenho.setPaintTicks(true);
sDesempenho.setPaintLabels(true);
//Senha
lblSenha.setBounds(10, 320, 50, 20);
psSenha.setBounds(70, 320, 100, 20);
//Disciplina
lblDisciplinas.setBounds(10, 350, 90, 20);
jlDisciplina.setBounds(100, 350, 100, 80);
//Entrada
lblEntrada.setBounds(10, 450, 60, 20);
jpEntrada.setBounds(80, 450, 100, 20);
JSpinner.DateEditor de = new JSpinner.DateEditor(jpEntrada, "dd/MM/yyyy");
jpEntrada.setEditor(de);
//Progresso
lblProgresso.setBounds(10, 480, 60, 20);
jpbProgresso.setBounds(80, 480, 150, 20);
jpbProgresso.setCursor(Cursor.getDefaultCursor());
jpbProgresso.setValue(70);
//Painel
jtpPainel.setBounds(10, 510, 300, 100);
//Botoes
btEnviar.setBounds(150,640, 80,20);
btSair.setBounds(250,640, 80,20);
}
public static void main(String[] args){
Formulario obj = new Formulario();
Evento con = new Evento();
obj.addWindowListener(con);
}
}
[/code]
Evento.java
[/code][code]
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JOptionPane;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Mauro
*/
public class Evento extends WindowAdapter {
@Override
public void windowClosing(WindowEvent evento)
{
JOptionPane.showMessageDialog(null,"Sair");
System.exit(0);
}
@Override
public void windowIconified(WindowEvent evento)
{
JOptionPane.showMessageDialog(null,"Minimizar");
}
@Override
public void windowDeiconified(WindowEvent evento)
{
JOptionPane.showMessageDialog(null,"Maximar");
}
public void mouseCliked(MouseEvent e){
}
}