Nível Superior

JFrame

O JFrame é o container de nível superior mais comum. É utilizado para definir uma janela de base para a aplicação. Segue um exemplo simples de como criar um JFrame em Java Swing:

import javax.swing.*;

public class MeuFrame extends JFrame {

    public MeuFrame() {
        setTitle("Meu JFrame");
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        JPanel panel = new JPanel();
        JLabel label = new JLabel("Este é um diálogo simples.");
        panel.add(label);
        add(panel);
        pack();
    }

    public static void main(String[] args) {
        MeuFrame meuFrame = new MeuFrame();
        meuFrame.setVisible(true);
    }
}

Neste exemplo, estamos criando uma classe MeuFrame que estende JFrame. No construtor da classe, estamos configurando algumas propriedades do JFrame, como o título, o tamanho, a posição, a ação que deve ser tomada quando o usuário fechar o frame e a visibilidade. Por fim, estamos criando uma instância da nossa classe MeuFrame dentro do método main, o que fará com que o frame seja exibido na tela quando o programa for executado.

JDialog

Um JDialog é uma janela que é exibida em cima de outra janela, geralmente usada para exibir informações adicionais ou solicitar entrada do usuário.

Segue abaixo um exemplo simples de como criar e exibir um JDialog em Java Swing:

import javax.swing.*;

public class MyDialog extends JDialog {
    public MyDialog(JFrame parent) {
        super(parent);
        setTitle("Meu diálogo");
        JPanel panel = new JPanel();
        JLabel label = new JLabel("Este é um diálogo simples.");
        panel.add(label);
        add(panel);
        pack();
        setLocationRelativeTo(parent);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("Minha janela principal");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setVisible(true);

        JDialog dialog = new MyDialog(frame);
        dialog.setVisible(true);
    }
}

Nesse exemplo, MyDialog é uma subclasse de JDialog. No construtor de MyDialog, criamos um painel com um rótulo e adicionamos esse painel ao conteúdo do diálogo. Em seguida, usamos o método pack() para ajustar o tamanho do diálogo com base no conteúdo e o método setLocationRelativeTo() para posicioná-lo em relação à janela principal.

Na função main, criamos uma instância da janela principal e a exibimos. Em seguida, criamos uma instância do diálogo e o exibimos. Note que passamos a janela principal como argumento para o construtor de MyDialog, para que o diálogo fique posicionado em relação a ela.

Referências

Last updated