Java Tutorial Swing: Como criar um aplicativo GUI em Java

O que é Swing em Java?

Entre Java é um kit de ferramentas de interface gráfica do usuário (GUI) que inclui os componentes da GUI. O Swing fornece um rico conjunto de widgets e pacotes para criar componentes sofisticados de GUI para Java aplicações. Swing é uma parte de Java Foundation Classes(JFC), que é uma API para Java Programação GUI que fornece GUI.

O ESB ( Java A biblioteca Swing é construída sobre o Java Kit de ferramentas de widget abstrato (AWT), um kit de ferramentas GUI mais antigo e dependente da plataforma. Você pode usar o Java componentes de programação GUI simples, como botões, caixas de texto, etc., da biblioteca e não é necessário criar os componentes do zero.

Neste curso Java Tutorial de swing, você aprenderá Java Noções básicas de GUI como-

Java Diagrama de hierarquia da classe Swing

Java Diagrama de hierarquia de classes Swing
Java Diagrama de hierarquia de classes Swing

Todos os componentes em Java Swing são JComponent que podem ser adicionados a classes de contêiner.

O que é uma classe de contêiner?

Classes contêineres são classes que podem conter outros componentes. Então, para criar um Java Swing GUI, precisamos de pelo menos um objeto container. Existem 3 tipos de Java Recipientes oscilantes.

  1. Painel: é um contêiner puro e não é uma janela em si. O único propósito de um Painel é organizar os componentes em uma janela.
  2. quadro: É uma janela totalmente funcional com seu título e ícones.
  3. diálogo: pode ser pensado como uma janela pop-up que aparece quando uma mensagem precisa ser exibida. Não é uma janela totalmente funcional como o Frame.

O que é GUI Java?

GUI (Interface Gráfica do Usuário) em Java é um construtor de experiência visual fácil de usar para Java aplicações. É feito principalmente de componentes gráficos como botões, rótulos, janelas, etc. através dos quais o usuário pode interagir com uma aplicação. A GUI desempenha um papel importante para construir interfaces fáceis para Java aplicações.

Como fazer uma GUI em Java com exemplo

Agora neste Java Tutorial GUI, vamos entender como criar uma GUI em Java com balanços em Java exemplos.

Passo 1) Copie o código em um editor
Na primeira etapa, copie o código a seguir em um editor.

import javax.swing.*;
class gui{
    public static void main(String args[]){
       JFrame frame = new JFrame("My First GUI");
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setSize(300,300);
       JButton button = new JButton("Press");
       frame.getContentPane().add(button); // Adds Button to content pane of frame
       frame.setVisible(true);
    }
}

Passo 2) Execute o código
Próxima etapa, salvar, compilar e executar o código

Passo 3) Copie o código a seguir em um editor
Agora vamos adicionar um botão ao nosso quadro. Copie o código a seguir em um editor de dado Java Exemplo de IU

import javax.swing.*;
   class gui{
      public static void main(String args[]){
        JFrame frame = new JFrame("My First GUI");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300,300);
       JButton button1 = new JButton("Press");
       frame.getContentPane().add(button1);
       frame.setVisible(true);
     }
}


Passo 4) Execute o código
Em seguida, execute o código. Você receberá um botão grande.


Java Exemplo de GUI

Passo 5) Adicionar dois botões

Que tal adicionar dois botões? Copie o código a seguir em um editor.

import javax.swing.*;
class gui{
      public static void main(String args[]){
           JFrame frame = new JFrame("My First GUI");
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.setSize(300,300);
          JButton button1 = new JButton("Button 1");
          JButton button2 = new JButton("Button 2");
          frame.getContentPane().add(button1);
          frame.getContentPane().add(button2);
          frame.setVisible(true);
     }
}

Passo 6) Salve e execute o programa
Em seguida, salve, compile e execute o programa.

Passo 7) Verificar saída
Saída inesperada =? Os botões estão ficando sobrepostos.

Java Layout Manager

O gerenciador de layout é usado para fazer o layout (ou organizar) a GUI Java componentes dentro de um contêiner. Existem muitos gerenciadores de layout, mas os mais usados ​​são-

Java BorderLayout

A BorderLayout coloca componentes em até cinco áreas: superior, inferior, esquerda, direita e centro. É o gerenciador de layout padrão para cada Java JFrame

Java BorderLayout
Java BorderLayout

Java FlowLayout

FlowLayout é o gerenciador de layout padrão para cada JPanel. Ele simplesmente organiza os componentes em uma única linha, um após o outro.

Java FlowLayout
Java FlowLayout

Java GridBagLayout

É o mais sofisticado de todos os layouts. Ele alinha os componentes colocando-os dentro de uma grade de células, permitindo que os componentes ocupem mais de uma célula.

Java GridBagLayout

Java GridBagLayout

Passo 8) Criar quadro de bate-papo
Que tal criar um quadro de bate-papo como abaixo?


Exemplo de Java GUI

Tente codificar você mesmo antes de olhar o programa abaixo.

//Usually you will require both swing and awt packages
// even if you are working with just swings.
import javax.swing.*;
import java.awt.*;
class gui {
    public static void main(String args[]) {

        //Creating the Frame
        JFrame frame = new JFrame("Chat Frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);

        //Creating the MenuBar and adding components
        JMenuBar mb = new JMenuBar();
        JMenu m1 = new JMenu("FILE");
        JMenu m2 = new JMenu("Help");
        mb.add(m1);
        mb.add(m2);
        JMenuItem m11 = new JMenuItem("Open");
        JMenuItem m22 = new JMenuItem("Save as");
        m1.add(m11);
        m1.add(m22);

        //Creating the panel at bottom and adding components
        JPanel panel = new JPanel(); // the panel is not visible in output
        JLabel label = new JLabel("Enter Text");
        JTextField tf = new JTextField(10); // accepts upto 10 characters
        JButton send = new JButton("Send");
        JButton reset = new JButton("Reset");
        panel.add(label); // Components Added using Flow Layout
        panel.add(tf);
        panel.add(send);
        panel.add(reset);

        // Text Area at the Center
        JTextArea ta = new JTextArea();

        //Adding Components to the frame.
        frame.getContentPane().add(BorderLayout.SOUTH, panel);
        frame.getContentPane().add(BorderLayout.NORTH, mb);
        frame.getContentPane().add(BorderLayout.CENTER, ta);
        frame.setVisible(true);
    }
}