0% acharam este documento útil (0 voto)
5 visualizações13 páginas

Exemplos de GUI em Java com Swing

O documento apresenta exemplos de desenvolvimento de interfaces gráficas em Java utilizando a biblioteca Swing. Inclui a implementação de diversos componentes como caixas de diálogo, formulários, painéis, botões, e menus, demonstrando suas funcionalidades e interações. Cada exemplo é acompanhado de código-fonte e explicações sobre a estrutura e o funcionamento dos elementos gráficos.

Enviado por

slowex24
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações13 páginas

Exemplos de GUI em Java com Swing

O documento apresenta exemplos de desenvolvimento de interfaces gráficas em Java utilizando a biblioteca Swing. Inclui a implementação de diversos componentes como caixas de diálogo, formulários, painéis, botões, e menus, demonstrando suas funcionalidades e interações. Cada exemplo é acompanhado de código-fonte e explicações sobre a estrutura e o funcionamento dos elementos gráficos.

Enviado por

slowex24
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Desenvolvimento de Sistemas

Orientação a Objetos | Elementos Gráficos do Java (GUI)

GUI em Java - Swing


1) Caixas de diálogo — JOptionPane
Arquivo: [Link]
import [Link].*;
import [Link].*;
import [Link].*;

public class DialogosExemplo extends JFrame {


public DialogosExemplo() {
super("Caixas de Diálogo - JOptionPane");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 180);
setLocationRelativeTo(null);

JButton btnMensagem = new JButton("Mensagem");


JButton btnConfirm = new JButton("Confirmação");
JButton btnEntrada = new JButton("Entrada de Texto");
JButton btnOpcoes = new JButton("Opções");

[Link](e ->
[Link](this, "Olá, aluno! 👋",
"Mensagem", JOptionPane.INFORMATION_MESSAGE)
);

[Link](e -> {
int opt = [Link](this, "Deseja
continuar?", "Confirmar", JOptionPane.YES_NO_CANCEL_OPTION);
[Link](this, "Resposta: " + opt);
});

[Link](e -> {
String nome = [Link](this, "Digite
seu nome:");
[Link](this, "Você digitou: " +
nome);
});

[Link](e -> {
String[] cursos = {"Java", "Python", "C#", "JavaScript"};
int idx = [Link](this, "Escolha um
curso:", "Cursos",
JOptionPane.DEFAULT_OPTION,
JOptionPane.QUESTION_MESSAGE, null, cursos, cursos[0]);
[Link](this, "Selecionado: " + (idx
>= 0 ? cursos[idx] : "nada"));
});

JPanel p = new JPanel(new FlowLayout());


[Link](btnMensagem); [Link](btnConfirm); [Link](btnEntrada);
[Link](btnOpcoes);
add(p);
}

public static void main(String[] args) {


[Link](() -> new
DialogosExemplo().setVisible(true));
}
}

1
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

2) Formulários (Labels, campos, botões, layout) — JPanel +


GridBagLayout

Arquivo: [Link]

import [Link].*;
import [Link].*;
import [Link].*;

public class FormularioExemplo extends JFrame {


private JTextField tfNome, tfEmail, tfIdade;

public FormularioExemplo() {
super("Formulário - GridBagLayout");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(480, 240);
setLocationRelativeTo(null);

JPanel form = new JPanel(new GridBagLayout());


GridBagConstraints c = new GridBagConstraints();
[Link] = new Insets(6,6,6,6);
[Link] = [Link];

JLabel lbNome = new JLabel("Nome:");


JLabel lbEmail = new JLabel("Email:");
JLabel lbIdade = new JLabel("Idade:");

tfNome = new JTextField(20);


tfEmail = new JTextField(20);
tfIdade = new JTextField(5);

JButton btnSalvar = new JButton("Salvar");


JButton btnLimpar = new JButton("Limpar");

[Link]=0; [Link]=0; [Link](lbNome, c);


[Link]=1; [Link]=0; [Link](tfNome, c);
[Link]=0; [Link]=1; [Link](lbEmail, c);
[Link]=1; [Link]=1; [Link](tfEmail, c);
[Link]=0; [Link]=2; [Link](lbIdade, c);
[Link]=1; [Link]=2; [Link](tfIdade, c);

JPanel botoes = new JPanel(new FlowLayout([Link]));


[Link](btnSalvar); [Link](btnLimpar);

add(form, [Link]);
add(botoes, [Link]);

[Link](e -> {
String msg = [Link]("Nome: %s%nEmail: %s%nIdade:
%s",
[Link](), [Link](),
[Link]());
[Link](this, msg, "Dados salvos",
JOptionPane.INFORMATION_MESSAGE);
});

2
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

[Link](e -> {
[Link](""); [Link]("");
[Link]("");
});
}

public static void main(String[] args) {


[Link](() -> new
FormularioExemplo().setVisible(true));
}
}

3
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

3) Texto (rótulos, HTML básico) — JLabel


Arquivo: [Link]

import [Link].*;
import [Link].*;

public class TextoLabelExemplo extends JFrame {


public TextoLabelExemplo() {
super("Texto - JLabel");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 220);
setLocationRelativeTo(null);

JLabel puro = new JLabel("Texto simples com JLabel");


JLabel html = new JLabel("<html><h3>Texto com
<i>HTML</i></h3><p>Você pode <b>formatar</b>
minimamente.</p></html>");
[Link]([Link]);
[Link]([Link]);

setLayout(new GridLayout(2,1));
add(puro);
add(html);
}

public static void main(String[] args) {


[Link](() -> new
TextoLabelExemplo().setVisible(true));
}
}

4
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

4) Campo de texto (com contagem de caracteres) — JTextField


+ DocumentListener
Arquivo: [Link]

import [Link].*;
import [Link].*;
import [Link].*;

public class CampoTextoExemplo extends JFrame {


public CampoTextoExemplo() {
super("Campo de Texto - JTextField");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 160);
setLocationRelativeTo(null);

JTextField tf = new JTextField(25);


JLabel contador = new JLabel("0 caracteres");

[Link]().addDocumentListener(new DocumentListener() {
private void update() {
[Link]([Link]().length() + " caracteres"); }
public void insertUpdate(DocumentEvent e) { update(); }
public void removeUpdate(DocumentEvent e) { update(); }
public void changedUpdate(DocumentEvent e) { update(); }
});

JPanel p = new JPanel();


[Link](new JLabel("Digite algo:"));
[Link](tf);
[Link](contador);
add(p);
}

public static void main(String[] args) {


[Link](() -> new
CampoTextoExemplo().setVisible(true));
}
}

5
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

5) Caixa de combinação — JComboBox


Arquivo: [Link]

import [Link].*;
import [Link].*;

public class ComboBoxExemplo extends JFrame {


public ComboBoxExemplo() {
super("Caixa de Combinação - JComboBox");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 160);
setLocationRelativeTo(null);

String[] cursos = {"Java", "Python", "C#", "JavaScript"};


JComboBox<String> combo = new JComboBox<>(cursos);
[Link](true);

JLabel sel = new JLabel("Selecionado: " +


[Link]());

[Link](e -> [Link]("Selecionado: " +


[Link]()));

JPanel p = new JPanel();


[Link](new JLabel("Curso:"));
[Link](combo);
[Link](sel);
add(p);
}

public static void main(String[] args) {


[Link](() -> new
ComboBoxExemplo().setVisible(true));
}
}

6
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

6) Caixa de seleção — JCheckBox


Arquivo: [Link]

import [Link].*;
import [Link].*;
import [Link].*;

public class CheckBoxExemplo extends JFrame {


public CheckBoxExemplo() {
super("Caixas de Seleção - JCheckBox");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 180);
setLocationRelativeTo(null);

JCheckBox cbEmail = new JCheckBox("Receber emails");


JCheckBox cbNotif = new JCheckBox("Ativar notificações");
JCheckBox cbTermos = new JCheckBox("Aceito os termos");

JLabel status = new JLabel("Selecione opções");

ItemListener il = e -> [Link]([Link]("Emails:


%s | Notif: %s | Termos: %s",
[Link](), [Link](),
[Link]()));

[Link](il);
[Link](il);
[Link](il);

JPanel p = new JPanel(new GridLayout(4,1));


[Link](cbEmail); [Link](cbNotif); [Link](cbTermos);
[Link](status);
add(p);
}

public static void main(String[] args) {


[Link](() -> new
CheckBoxExemplo().setVisible(true));
}
}

7
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

7) Painéis e organização — JPanel + BorderLayout/FlowLayout


Arquivo: [Link]

import [Link].*;
import [Link].*;

public class PaineisExemplo extends JFrame {


public PaineisExemplo() {
super("Painéis e Layouts");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(520, 320);
setLocationRelativeTo(null);

JPanel topo = new JPanel(new FlowLayout([Link]));


[Link](new Color(220,235,255));
[Link](new JLabel("Topo (FlowLayout)"));
[Link](new JButton("Botão A"));

JPanel centro = new JPanel(new GridLayout(2,2,8,8));


[Link]([Link]("Centro
(GridLayout)"));
[Link](new JButton("1"));
[Link](new JButton("2"));
[Link](new JButton("3"));
[Link](new JButton("4"));

JPanel rodape = new JPanel(new FlowLayout([Link]));


[Link](new Color(235,235,235));
[Link](new JButton("OK"));
[Link](new JButton("Cancelar"));

setLayout(new BorderLayout(8,8));
add(topo, [Link]);
add(centro, [Link]);
add(rodape, [Link]);
}

public static void main(String[] args) {


[Link](() -> new
PaineisExemplo().setVisible(true));
}
}

8
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

8) Abas — JTabbedPane
Arquivo: [Link]

import [Link].*;
import [Link].*;

public class AbasExemplo extends JFrame {


public AbasExemplo() {
super("Abas - JTabbedPane");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(520, 300);
setLocationRelativeTo(null);

JTabbedPane tabs = new JTabbedPane();

JPanel p1 = new JPanel();


[Link](new JLabel("Dados Pessoais"));
[Link](new JTextField("Nome", 10));

JPanel p2 = new JPanel();


[Link](new JLabel("Endereço"));
[Link](new JTextField("Rua", 10));

JPanel p3 = new JPanel();


[Link](new JLabel("Preferências"));
[Link](new JCheckBox("Receber emails"));

[Link]("Pessoal", p1);
[Link]("Endereço", p2);
[Link]("Preferências", p3);

add(tabs);
}

public static void main(String[] args) {


[Link](() -> new
AbasExemplo().setVisible(true));
}
}

9
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

9) Botões — JButton (ações e estado)


Arquivo: [Link]

import [Link].*;
import [Link].*;
import [Link].*;

public class BotoesExemplo extends JFrame {


private int contador = 0;

public BotoesExemplo() {
super("Botões - JButton");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 160);
setLocationRelativeTo(null);

JLabel lbl = new JLabel("Cliques: 0");


JButton btnClique = new JButton("Clique-me");
JButton btnDesabilitar = new JButton("Desabilitar/
Habilitar");

[Link](e -> [Link]("Cliques: " +


(++contador)));

[Link](e ->
[Link](![Link]()));

JPanel p = new JPanel();


[Link](btnClique); [Link](btnDesabilitar); [Link](lbl);
add(p);
}

public static void main(String[] args) {


[Link](() -> new
BotoesExemplo().setVisible(true));
}
}

10
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

10) Botões de rádio — JRadioButton + ButtonGroup


Arquivo: [Link]

import [Link].*;
import [Link].*;
import [Link].*;

public class RadioButtonsExemplo extends JFrame {


public RadioButtonsExemplo() {
super("Botões de Rádio - JRadioButton");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 180);
setLocationRelativeTo(null);

JRadioButton r1 = new JRadioButton("Masculino");


JRadioButton r2 = new JRadioButton("Feminino");
JRadioButton r3 = new JRadioButton("Outro");

ButtonGroup grupo = new ButtonGroup();


[Link](r1); [Link](r2); [Link](r3);

JLabel sel = new JLabel("Seleção: (nenhuma)");

ActionListener al = e -> [Link]("Seleção: " +


((JRadioButton)[Link]()).getText());
[Link](al);
[Link](al);
[Link](al);

JPanel p = new JPanel(new GridLayout(4,1));


[Link](r1); [Link](r2); [Link](r3); [Link](sel);
add(p);
}

public static void main(String[] args) {


[Link](() -> new
RadioButtonsExemplo().setVisible(true));
}
}

11
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

11) Botões de seleção (toggle) — JToggleButton


Arquivo: [Link]

import [Link].*;
import [Link].*;
import [Link].*;

public class ToggleButtonsExemplo extends JFrame {


public ToggleButtonsExemplo() {
super("Botões de Seleção - JToggleButton");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420, 160);
setLocationRelativeTo(null);

JToggleButton tg = new JToggleButton("Modo Escuro: OFF");


JLabel status = new JLabel("Tema atual: Claro");

[Link](e -> {
boolean ativo = [Link]();
[Link]("Modo Escuro: " + (ativo ? "ON" : "OFF"));
[Link]("Tema atual: " + (ativo ? "Escuro" :
"Claro"));
});

JPanel p = new JPanel();


[Link](tg); [Link](status);
add(p);
}

public static void main(String[] args) {


[Link](() -> new
ToggleButtonsExemplo().setVisible(true));
}
}

12
Desenvolvimento de Sistemas
Orientação a Objetos | Elementos Gráficos do Java (GUI)

12) Menus — JMenuBar, JMenu, JMenuItem


Arquivo: [Link]

import [Link].*;
import [Link].*;
import [Link].*;
import [Link];
import [Link];

public class MenusExemplo extends JFrame {


public MenusExemplo() {
super("Menus - JMenuBar/JMenu/JMenuItem");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(520, 300);
setLocationRelativeTo(null);

JMenuBar barra = new JMenuBar();

JMenu arquivo = new JMenu("Arquivo");


[Link](KeyEvent.VK_A);

JMenuItem novo = new JMenuItem("Novo");


[Link]([Link](KeyEvent.VK_N,
[Link]().getMenuShortcutKeyMaskEx()));
JMenuItem sair = new JMenuItem("Sair");
[Link]([Link](KeyEvent.VK_Q,
[Link]().getMenuShortcutKeyMaskEx()));

[Link](e -> [Link](0));


[Link](e ->
[Link](this, "Novo arquivo criado."));

[Link](novo);
[Link]();
[Link](sair);

JMenu ajuda = new JMenu("Ajuda");


JMenuItem sobre = new JMenuItem("Sobre");
[Link](e ->
[Link](this, "Exemplo de menus\nSwing -
Java"));
[Link](sobre);

[Link](arquivo);
[Link](ajuda);
setJMenuBar(barra);

add(new JLabel("Use os menus acima (Arquivo/Ajuda).",


[Link]), [Link]);
}

public static void main(String[] args) {


[Link](() -> new
MenusExemplo().setVisible(true));
}
}

13

Você também pode gostar