Janela do JOptionPane

16 respostas
R

fala galera,
alguém sabe se tem como eu definir o tamnho da janela do JOptionPane?

vlw

16 Respostas

TeiTei

O JoptionPane não deixa vc modificar seu tamanho…

crie um frame que faça o que o JoptionPane faz…

Foxlol

Você pode utilizar o JDialog

TeiTei

Ou o JDialog assim como o amigo disse.

JFrame e JDialog seja ela qual for seguem o mesmo contexto pois são netas de Window…

bruxel

se vc quizer ainda pode inserir um JPanel dentro JOptionPane e ai sim redimensiona-lo

vlw :wink:

ViniGodoy
"teitei":
O JOptionPane não deixa vc modificar seu tamanho....
Como não? É esquisito, mas dá para fazer sim.
public class Teste {
    public static void main(String[] args) {
        //Primeiro você cria um pane
        JOptionPane pane = new JOptionPane("Por favor, escolha sim ou não", JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION);
        
        //Depois vc cria a dialog do pane e ajusta seu tamanho
        JDialog dialog = pane.createDialog(null, "Escolha sim ou não");
        dialog.setSize(500,500);
        dialog.setVisible(true);

        //Teste a resposta definida no pane, não na dialog do pane.
        if ((Integer)pane.getValue() == JOptionPane.YES_OPTION)
            System.out.println("Escolhido sim");
        else
            System.out.println("O sim não foi escolhido");
        
        System.exit(0);
    }
}
R

Estou pesquisando aki como se utiliza o JFrame ou JDialog, não tenho muita experiência,

vou dar mais uma olhada aki e posto alguma dúvida que vier,
obrigado a todos ae

TeiTei

Esse viniGodoy e foda…kkkkkkkkkkkkkkkkkk

ViniGodoy

PS: Isso está descrito no próprio Javadoc do JOptionPane (vejam mais para o final).
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JOptionPane.html

R
ViniGodoy:
"teitei":
O JOptionPane não deixa vc modificar seu tamanho....
Como não? É esquisito, mas dá para fazer sim.
public class Teste {
    public static void main(String[] args) {
        //Primeiro você cria um pane
        JOptionPane pane = new JOptionPane("Por favor, escolha sim ou não", JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION);
        
        //Depois vc cria a dialog do pane e ajusta seu tamanho
        JDialog dialog = pane.createDialog(null, "Escolha sim ou não");
        dialog.setSize(500,500);
        dialog.setVisible(true);

        //Teste a resposta definida no pane, não na dialog do pane.
        if ((Integer)pane.getValue() == JOptionPane.YES_OPTION)
            System.out.println("Escolhido sim");
        else
            System.out.println("O sim não foi escolhido");
        
        System.exit(0);
    }
}

Vlw ViniGodoy, esse pequenp código me ajudou bastante, agora já dá pra eu quebrar a cabeça aki com um código maior,

vlw
Abração

Ah, se alguém puder me ajudar me passando um link de uma apostila ou um tutorial pra eu aprender a usar o JFrame e o JDialog, agradeço desde já.

ViniGodoy

Isso vale para quase todos os componentes do Swing.

Vá no google e digite:
“how to use” e o nome do componente.

Por exemplo, para a busca:
How to use JFrame

Você acha a página:
http://java.sun.com/docs/books/tutorial/uiswing/components/frame.html

Logo no primeiro link. E a página:
http://java.sun.com/docs/books/tutorial/uiswing/components/internalframe.html

No segundo.

R

O problema agora é perfumaria,
como faço para colocar a mensagem no meio da tela?

tentei colocar a posição no final da mensagem, mas não funcionou, acho q só funciopna com applet

vlw

ViniGodoy

Você realmente precisa mudar tanto assim um JOptionPane? Vai ficar muito diferente dos encontrados normalmente no Windows, Linux, etc…

Se você precisa de tanto perfume assim, fica mais fácil e mais claro criar seu próprio JDialog, como o Teitei falou desde o início…

R

concordo, mas é que não tenho experiência com JDialog nem JFrame e tenho muitos JOptionPane

ViniGodoy

Então não perca tempo com frescuras. :slight_smile:

A janela padrão já é… bem padrão.

R

ViniGodoy:
Então não perca tempo com frescuras. :slight_smile:

A janela padrão já é… bem padrão.

concordo, acho q preciso estudar mais JFrame, pelo q li até agora, e o que já sabia sobre JFrame, vejo q resolveria meu problema.

Obrigado ae ViniGodoy,

ViniGodoy

JFrame não resolve. Você sempre pode clicar no frame que está atrás dele.
No caso de simular um JOptionPane, você vai precisar de um JDialog e com a opção setModal definida para true.

Criado 27 de maio de 2008
Ultima resposta 27 de mai. de 2008
Respostas 16
Participantes 5