Caixas de diálogo de mensagem são ótimos quando você deseja informar o usuário sobre uma mensagem e obter uma resposta simples (ou seja, um clique SIM ou OK), mas há momentos em que você deseja que o usuário forneça um pouco de dados. Talvez o seu programa queira uma janela pop-up para pegar o nome ou o signo. Isso pode ser alcançado facilmente usando o
showInputDialog
método do
JOptionPane
classe.
A classe JOptionPane
Para usar o
JOptionPaneclasse, você não precisa criar uma instância de um
JOptionPane
porque cria caixas de diálogo através do uso de métodos estáticos ecampos estáticos. Ele cria apenas caixas de diálogo modais, o que é bom para as caixas de diálogo de entrada, porque geralmente você deseja que o usuário insira algo antes que o aplicativo continue em execução.
o
showInputDialog
O método é sobrecarregado várias vezes para fornecer algumas opções sobre como a caixa de diálogo de entrada aparece. Pode ter um campo de texto, uma caixa de combinação ou uma lista. Cada um desses componentes pode ter um valor padrão selecionado.
Caixa de diálogo de entrada com um campo de texto
A caixa de diálogo de entrada mais comum simplesmente possui uma mensagem, um campo de texto para o usuário inserir sua resposta e um botão OK:
o
showInputDialogO método cuida da criação da janela de diálogo, do campo de texto e do botão OK. Tudo o que você precisa fazer é fornecer o componente pai para a caixa de diálogo e a mensagem ao usuário. Para o componente pai, estou usando o
estapalavra-chave para apontar para o
JFramea caixa de diálogo é criada. Você pode usar null ou especificar o nome de outro contêiner (por exemplo,
JPanel) como pai. Definir um componente pai permite que o diálogo se posicione na tela em relação ao pai. Se estiver definido como nulo, a caixa de diálogo aparecerá no centro da tela.
o
variável de entrada
captura o texto que o usuário digita no campo de texto.
Caixa de diálogo de entrada com uma caixa de combinação
Para dar ao usuário uma seleção de opções em uma caixa de combinação, você precisa usar uma matriz String:
// Opções para a caixa de diálogo dialogString []
escolhas = {"Segunda-feira", "Terça-feira"
,"Quarta feira Quinta feira sexta feira"};
// Caixa de diálogo de entrada com uma caixa de combinação
String selecionada = (String) JOptionPane.showInputDialog (this, "Pick a Day:"
, "Caixa de diálogo ComboBox", JOptionPane. QUESTION_MESSAGE
, null, escolhas, escolhas [0]);
Como eu estou passando um Matriz de cadeia para os valores de seleção, o método decide que uma caixa de combinação é a melhor maneira de apresentar esses valores ao usuário. este
showInputDialog
O método retorna um
Objeto
e como desejo obter o valor do texto da seleção da caixa de combinação, defini o valor de retorno como um (
Corda
).
Observe também que você pode usar um dos tipos de mensagem do OptionPane para dar uma certa sensação à caixa de diálogo. Isso pode ser substituído se você passar um ícone de sua própria escolha.
Caixa de diálogo de entrada com uma lista
Se o
Cordamatriz que você passa para o.
showInputDialogO método possui 20 ou mais entradas e, em vez de usar uma caixa de combinação, ele decide mostrar os valores de seleção em uma caixa de listagem.
Um exemplo completo de código Java pode ser visualizado no programa Input Dialog Box. Se você estiver interessado em ver as outras caixas de diálogo que a classe JOptionPane pode criar, consulte o Programa JOptionPane Option Chooser.