Java - Diálogos
Afluentes: Programação em Java
Diálogos
- Um diálogo é uma maneira de conseguir com que o usuário realize uma entrada de dados.
- Existem vários tipos de diálogos - você já devem usar há algum tempo...
- Todo diálogo é dependente de um frame.
- Destruir um frame destrói todos os diálogos que são seus dependentes;
- Quando um frame é minimizado, somem da tela todos os seus diálogos;
- Eles voltam quando o frame volta ao seu tamanho normal
- Um diálogo pode ser modal. Quando um diálogo modal está visível, todas as entradas para outros componentes estarão bloqueadas.
- Para criar diálogos customizados, use a classe JDialog diretamente.
- O Swing provê vários diálogos padrões:
JProgressBar, JFileChooser, JColorChooser, ...
- A classe JOptionPane pode ser usada para criar diálogos modais simples, que permitem a costumização de ícones, títulos, textos e botões.
JOptionPane
- JOptionPane faz com que seja fácil exibir um diálogo padrão que leia um valor do usuário ou informe-o de algo.
- A classe JOptionPane pode parecer complexa dado o seu grande número de métodos.
• Entretanto, a maioria dos uso desta classe são simplesmente chamadas de uma única linha para um dos métodos estáticos showXxxDialog.
- showXxxDialog
- showConfirmDialog: Faz uma pergunta confirmatória e espera uma resposta tal como yes/no/cancel.
- showInputDialog: Lê entrada do teclado (velho conhecido)
- showMessageDialog: Informa ao usuário que algo aconteceu.
- showOptionDialog: Os três anteriores em um só.
Exemplo
1import javax.swing.JOptionPane;
2
3public class Dialogo01 {
4 public static void main(final String[] args) {
5 final Object[] options = {
6 "Entro na caverna",
7 "Continuo pela estrada",
8 "Me escondo e observo"
9 };
10 final int n = JOptionPane.showOptionDialog(
11 null,
12 "Você está caminhando na estrada, vê uma caverna e ouve um barulho. O que você faz?",
13 "Ação",
14 JOptionPane.YES_NO_CANCEL_OPTION,
15 JOptionPane.QUESTION_MESSAGE,
16 null,
17 options,
18 options[2]
19 );
20 String consequencia = "";
21 switch (n) {
22 case 0:
23 consequencia = "Está muito escuro e não dá para enxerga nada. " +
24 "Você sente uma pancada na cabeça e apaga.";
25 break;
26 case 1:
27 consequencia = "Você segue pela estrada mas é perseguido por um grupo de bandidos.";
28 break;
29 case 2:
30 consequencia = "Sai da caverna um grupo de bandidos e seguem pela estrada que você caminhava.";
31 break;
32
33 }
34 JOptionPane.showMessageDialog(
35 null,
36 consequencia,
37 "Consequencia",
38 JOptionPane.INFORMATION_MESSAGE
39 );
40 }
41}
Atividade 1
Utilizando o recurso de Diálogos (JOptionPane) faça o usuário participar de uma história, podendo escolher diferentes destinos. Use sistema de escolha por botões e quando for para o usuário responder algo, tal como em uma conversa, use um diálogo para pegar o texto. No final, apresente a história toda em um campo texto de uma JFrame, conforme as escolhas feitas pelo usuário.
- Exemplo
|