Skip to main content dev:Coelho

GUI Com Java Swing

Programação Orientada a Objetos - Aula 01

O pacote javax.swing oferece uma ampla gama de componentes gráficos para criar interfaces gráficas de usuário (GUIs) no Java. Esses componentes são conhecidos como JComponents e fornecem uma base para criar interfaces modernas e funcionais. Aqui está uma visão geral dos principais JComponents:


1. Contêineres

Os contêineres são JComponents usados para organizar outros componentes dentro de uma janela.

  • JFrame: Representa a janela principal da aplicação. Pode conter outros componentes.

    • Exemplo: Uma janela com barra de título, bordas e botões de minimizar, maximizar e fechar.

    • Uso:

      java code snippet start

      JFrame frame = new JFrame("Minha Janela");
      frame.setSize(400, 300);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);

      java code snippet end

  • JPanel: Um contêiner genérico que agrupa componentes. Geralmente usado para organizar layouts dentro de uma JFrame.

    • Uso:

      java code snippet start

      JPanel panel = new JPanel();
      panel.add(new JButton("Botão"));
      frame.add(panel);

      java code snippet end

  • JScrollPane: Fornece uma área rolável para outros componentes, como tabelas ou texto.

    • Uso:

      java code snippet start

      JTextArea textArea = new JTextArea(20, 30);
      JScrollPane scrollPane = new JScrollPane(textArea);
      frame.add(scrollPane);

      java code snippet end


2. Componentes de Entrada

Estes componentes permitem a interação direta do usuário.

  • JButton: Um botão clicável.

    • Uso:

      java code snippet start

      JButton button = new JButton("Clique Aqui");

      java code snippet end

  • JTextField: Uma caixa de texto para entrada de texto de uma única linha.

    • Uso:

      java code snippet start

      JTextField textField = new JTextField(20);

      java code snippet end

  • JPasswordField: Semelhante ao JTextField, mas oculta o texto digitado.

    • Uso:

      java code snippet start

      JPasswordField passwordField = new JPasswordField(20);

      java code snippet end

  • JTextArea: Uma área de texto para múltiplas linhas.

    • Uso:

      java code snippet start

      JTextArea textArea = new JTextArea(5, 20);

      java code snippet end

  • JCheckBox: Uma caixa de seleção.

    • Uso:

      java code snippet start

      JCheckBox checkBox = new JCheckBox("Opção 1");

      java code snippet end

  • JRadioButton: Um botão de opção que faz parte de um grupo.

    • Uso:

      java code snippet start

      JRadioButton radioButton = new JRadioButton("Opção A");
      ButtonGroup group = new ButtonGroup();
      group.add(radioButton);

      java code snippet end

  • JComboBox: Um menu suspenso que permite selecionar uma opção.

    • Uso:

      java code snippet start

      JComboBox<String> comboBox = new JComboBox<>(new String[] {"Opção 1", "Opção 2"});

      java code snippet end

  • JSpinner: Um campo de entrada com controles incrementais/decrementais.

    • Uso:

      java code snippet start

      JSpinner spinner = new JSpinner();

      java code snippet end


3. Componentes de Exibição

Estes componentes exibem informações ao usuário.

  • JLabel: Exibe texto ou imagens.

    • Uso:

      java code snippet start

      JLabel label = new JLabel("Texto informativo");

      java code snippet end

  • JTable: Exibe dados em formato tabular.

    • Uso:

      java code snippet start

      JTable table = new JTable(data, columnNames);

      java code snippet end

  • JProgressBar: Mostra o progresso de uma tarefa.

    • Uso:

      java code snippet start

      JProgressBar progressBar = new JProgressBar(0, 100);
      progressBar.setValue(50);

      java code snippet end


4. Menus e Barras de Ferramentas

Componentes para criar menus e barras de ferramentas.

  • JMenuBar: Barra de menus para a janela.

    • Uso:

      java code snippet start

      JMenuBar menuBar = new JMenuBar();
      JMenu menu = new JMenu("Arquivo");
      menuBar.add(menu);
      frame.setJMenuBar(menuBar);

      java code snippet end

  • JToolBar: Uma barra de ferramentas.

    • Uso:

      java code snippet start

      JToolBar toolBar = new JToolBar();
      toolBar.add(new JButton("Ferramenta 1"));

      java code snippet end


5. Componentes Avançados

Componentes para casos mais específicos.

  • JTabbedPane: Gerencia painéis com guias.

    • Uso:

      java code snippet start

      JTabbedPane tabbedPane = new JTabbedPane();
      tabbedPane.addTab("Aba 1", new JPanel());

      java code snippet end

  • JTree: Exibe dados hierárquicos em formato de árvore.

    • Uso:

      java code snippet start

      JTree tree = new JTree();

      java code snippet end

  • JList: Exibe uma lista de itens.

    • Uso:

      java code snippet start

      JList<String> list = new JList<>(new String[] {"Item 1", "Item 2"});

      java code snippet end


6. Utilitários e Estilo

  • UIManager: Permite alterar o tema ou aparência dos componentes Swing.

    • Uso:

      java code snippet start

      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

      java code snippet end

  • ToolTipText: Adiciona dicas informativas aos componentes.

    • Uso:

      java code snippet start

      button.setToolTipText("Clique para executar a ação");

      java code snippet end