Como criar um evento para um botão no Swing/Java

Galera, queria vim pedir um favor, queria que alguém me mostrasse como criar um evento de um JButton, tipo, um botão q quando vc clica nele ele abre outro JFrame e fecha o antigo

usem esse codigo como exemplo

import javax.swing.JFrame;
import javax.swing.JButton;

public class inicio{

   public void main(String[] args){
   JFrame frame = new JFrame();
   JButton bta = new JButton("Clique aqui");
   frame.setVisible(true);
   }
}

ai a pessoa clica no botão “clica aqui” e abre outro JFrame e fecha o que estava aberto, obs: expliquem da maneira mais simples possivel e evitem colocar linhas para o programa ficar mais bonito

Meio exigente vc né amigo, no YouTube tem bastante material sobre isso, quando se está começando, é melhor ver do que ler código q vc não vai entender.



1 curtida

Não sou “exigente” apenas pedi a forma mais simples possivel para alguém me explicar como funciona o evento de um botão ‘-’

Alías, vlw pelos videos

How to Write an Action Listener

import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UIManager;
import javax.swing.WindowConstants;

public class Exemplo {

    public static void main(String[] args) {
        try {
            Exemplo programa = new Exemplo();
            programa.executar();
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

    private JFrame estaJanela;

    public void executar() throws Exception {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        estaJanela = new JFrame("Janela");
        Container container = estaJanela.getContentPane();
        container.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
        JButton button = new JButton("Clique aqui");
        button.addActionListener(event -> fazAlgumaCoisa());
        container.add(button);
        estaJanela.setMinimumSize(new Dimension(320, 160));
        estaJanela.setLocationRelativeTo(null);
        estaJanela.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        estaJanela.setVisible(true);
    }

    private void fazAlgumaCoisa() {
        JFrame outraJanela = new JFrame("Outra Janela");
        Container container = outraJanela.getContentPane();
        container.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
        container.add(new JLabel("Eu sou a outra janela"));
        outraJanela.setMinimumSize(new Dimension(320, 160));
        outraJanela.setLocationRelativeTo(null);
        outraJanela.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        estaJanela.setVisible(false);
        outraJanela.setVisible(true);
    }
}
1 curtida