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(800600);
    
    //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!");
    }
  }

}