Autor: Juliano D. Carniel
Esse é um exemplo simples, para iniciantes, que demonstra os métodos comuns para construção de janelas gráficas com Swing e tratamento de eventos!
Enjoy it!
package br.com.portaljava.tutoriais.swing;
import javax.swing.*;
import java.awt.event.*;
/**
* Exemplo de uso de Swing utilizando um JFrame com um JPanel.
*
* Este JFrame possui um JPanel.
*
* @author Juliano D. Carniel ( <a
* href="mailto:juliano@portaljava.com">juliano@portaljava.com </a>)
*/
public class MyJFrame extends JFrame {
/**
* Cosntrutor que isntancia um JPanel e o adiciona a este JFrame.
*/
public MyJFrame() {
this.setTitle("Minha primeira Tela!");
this.setSize(800, 600);
//Adiciona a capacidade de fechar a janela
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//Instancia um novo JPanel
MyJPanel panel = new MyJPanel();
//adicona o JPanel a este JFrame
this.getContentPane().add( panel );
//manda mostrar o JFrame
this.show();
}
/**
* Método para rodar o aplicativo de exemplo.
*
* @param args
*/
public static void main(String args[]) {
new MyJFrame();
}
}
/**
* Conteúdo exclusivo do site portaljava.com e de seus autores. Qualquer cópia,
* parcial ou total deste conteúdo deve ser autorizada através do e-mail
* info@portaljava.com
*
*/
package br.com.portaljava.tutoriais.swing;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
/**
* Exemplo de uso de Swing utilizando um JFrame com um JPanel.
*
* Este JPanel faz parte do objeto MyJPanel.
*
* @author Juliano D. Carniel ( <a
* href="mailto:juliano@portaljava.com">juliano@portaljava.com</a>)
*
*/
public class MyJPanel extends JPanel implements ActionListener{
/**
* Componente de label
*/
private JLabel label;
private JButton botao;
public MyJPanel() {
//Instancia um novo label e um novo botão
label = new JLabel("Aperte aqui ->");
botao = new JButton("Botão");
//seta os limites do labbel e do botão
this.label.setBounds(100,100,100,20);
this.botao.setBounds(200,100,100,20);
//Adiciona o label e o botão a este Panel
this.add(this.label);
this.add(this.botao);
//adiciona ao um botão um "escutador", responsável por tratar seus cliques.
this.botao.addActionListener(this);
}
/**
* Método que trata quando uma ação é executada
*/
public void actionPerformed(ActionEvent e) {
//Verifica se o objeto onde a ação foi executa é o botão desejado.
if(e.getSource()==this.botao){
JOptionPane.showMessageDialog(null,"Você apertou no Botão!");
}
}
}
package br.com.portaljava.tutoriais.swing;
import java.awt.event.*;
import javax.swing.*;
/**
* Exemplo de uso de Swing utilizando um JFrame com um JPanel.
*
* Este JPanel faz parte do objeto MyJPanel.
*
* @author Juliano D. Carniel ( <a
* href="mailto:juliano@portaljava.com">juliano@portaljava.com</a>)
*
*/
public class MyJPanel extends JPanel implements ActionListener{
/**
* Componente de label
*/
private JLabel label;
private JButton botao;
public MyJPanel() {
//Instancia um novo label e um novo botão
label = new JLabel("Aperte aqui ->");
botao = new JButton("Botão");
//seta os limites do labbel e do botão
this.label.setBounds(100,100,100,20);
this.botao.setBounds(200,100,100,20);
//Adiciona o label e o botão a este Panel
this.add(this.label);
this.add(this.botao);
//adiciona ao um botão um "escutador", responsável por tratar seus cliques.
this.botao.addActionListener(this);
}
/**
* Método que trata quando uma ação é executada
*/
public void actionPerformed(ActionEvent e) {
//Verifica se o objeto onde a ação foi executa é o botão desejado.
if(e.getSource()==this.botao){
JOptionPane.showMessageDialog(null,"Você apertou no Botão!");
}
}
}