[i]Gostaria de saber se da pra mudar akela janela do “Input” , “Message”… Por exemplo:
Quando escrevo esse código e executo-o, irá aparecer uma janela, e assim como o no HTML, ele possui o nome Message, certo ?
JOptionPane.showMessageDialog(null,"Teste!");
Outra duvida também é sobre o null. Eu li no livro que ele informa a posição da caixa de dialógo. Quais são os outros paramêtros existentes para dizer “direita”, “esquerda” ?
Assim também, quando executo o código e etc. aparece uma imagem do lado da mensagem (Assim como o javascript e VBScript senão me engano). Dá pra mudar aquela imagem ou até mesmo tirar ela ?
Se alguém puder tirar minha dúvida eu agradeço. [/i]
Desculpe ter colocado na seção errada, é que só fui me lembrar agora que tinha a seção de Interface Gráfica aqui :oops:
O ícone é o quarto argumento, que recebe um int que representa os tipos de mensagem.
O primeiro argumento indica o componente que será o “pai” da option pane. Por exemplo, se passar null não haverá um pai, então o option pane fica centralizado na tela. Se eu passar um JFrame, o option pane será centralizado na área do JFrame que foi passado por parâmetro.
[quote=Eric Yuzo]O ícone é o quarto argumento, que recebe um int que representa os tipos de mensagem.
O primeiro argumento indica o componente que será o “pai” da option pane. Por exemplo, se passar null não haverá um pai, então o option pane fica centralizado na tela. Se eu passar um JFrame, o option pane será centralizado na área do JFrame que foi passado por parâmetro.[/quote]
Valeu, cara. Eu percebi isso quando eu estava lendo hoje, mas não tinha sacado pra que era o primeiro. =D
Tem uma forma que é possível especificar um array com os textos dos botões:
String[] opcoes = {"Sim","Não"}; //Nome dos botões
JOptionPane.showOptionDialog(null, "Mensagem do OptionPane", "Título", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, opcoes, opcoes[1]);
//JOptionPane.YES_NO_OPTION - Exibe os botões "Yes" e "No"
//JOptionPane.QUESTION_MESSAGE - Tipo de mensagem
//O sexto argumento é o ícone da barra de título (eu acho)
//opcoes é o array com os nomes para serem exibidos nos botões
//opcoes[1] - estou dizendo que o foco começa no botão especificado no índice 1 de opções, que é o "Não"
E uma forma mais prática seria traduzir pelo UIManager. Desta forma, os option panes já ficarão com o texto traduzido sem precisar especificar aquela montanha de parâmetros em cada chamada.
UIManager.put("OptionPane.cancelButtonText", "Cancelar");
UIManager.put("OptionPane.okButtonText", "OK"); //Traduzir OK para OK não precisa, só estou mostrando a possibilidade.
UIManager.put("OptionPane.noButtonText", "Não");
UIManager.put("OptionPane.yesButtonText", "Sim");