ViniGodoy 11 de dez. de 2010
Você pode tentar criar o JOptionPane pelo construtor. Então, use o método createDialog e em seguida o setLocation.
JOptionPane pane = new JOptionPane("Olá enfermeira!", JOptionPane.EXCLAMATION_TYPE);
JDialog paneDialog = pane.createDialog(this, "Tela de olá");
paneDialog.setLocation(200,200);
paneDialog.setVisible(true);
O valor clicado no JOptionPane é retornado através do método getValue() do objeto do JOptionPane.
Object valor = pane . getValue ();
Não testei aqui. Se isso não funcionar, então você terá que criar manualmente seu próprio JDialog modal (isso não é tão difícil quanto parece).
flanoriko 11 de dez. de 2010
oh!
Obrigada!
Vou testar agora!
flanoriko 11 de dez. de 2010
Sem querer ser chata, mas ja sendo…
Vc teria algum manual/passo a passo de como fazer um JDialog modal ?
Obrigada
ViniGodoy 11 de dez. de 2010
Na verdade, você faz igualzinho como se faz uma janela qualquer. A única diferença é que você define:
É importante que seja um JDialog, pois o JFrame não tem essa propriedade.
Para comunicar dados entre uma janela comum e um JDialog modal, veja o seguinte link:
http://www.guj.com.br/posts/list/55710.java#292687
flanoriko 11 de dez. de 2010
Olá novamente!
Fiz um teste assim:
-Eu clicaria neste jpanel, em qualquer ponto.
-Este ponto seria obtido no "getMousePosition()"
-O JOptionPane ficaria visivel.
private void jPanel1MouseClicked(java.awt.event.MouseEvent evt) {
JOptionPane pane = new JOptionPane("Testes", 1);
JDialog paneDialog = pane.createDialog(this, "Testes_t");
pane.setLocation(this.getMousePosition());
pane.setVisible(true);
}
Não sei se isso está certo...o fato é que o pane não está sendo mostrado...
Esqueci alguma coisa? :roll:
ViniGodoy 11 de dez. de 2010
Você deveria dar o setVisible e o setLocation na paneDialog, não no pane.
Eu me enganei quando escrevi o código lá em cima. Já consertei.
flanoriko 11 de dez. de 2010