Alternativa ao JOptionPane

5 respostas
RicardoCobain

Olá galera, estou bolando uma alternativa ao JOptionPane, só que com uma interface mais agradavel…

Só que tem um problema, ele é baseada no JPanel, e eu precisava repetir o mesmo efeito MODAL do JOptionPane, que ele abre a mensagem e trava a a execução
do formulario e do código, até que se escolha alguma opção.

Ex:

int opc = JOptionPane.showConfirmDialog(this, pessoaLocal.getNome() + ", foi salvo com sucesso. \n" +
                                "Deseja efetuar outro cadastro ?", "Novo Cadastro ?", JOptionPane.YES_NO_OPTION);
                        if (opc == JOptionPane.YES_OPTION) {
                            // só chega aqui quando o usuario apertar algum botão...
                        }

A implementação foi baseada na desse link: http://www.curious-creature.org/2007/08/01/blurred-background-for-dialogs-extreme-gui-makeover-2007/

Já procurei como fazer isso mas não achei nada, dei uma olhada no código do JDialog para tentar descobrir como fazer esse efeito MODAL mas tambem nada.
Alguem tem uma ideia de como fazer isso usando o JPanel ?

5 Respostas

R

Uma alternativa é criar um JDialog modal e adicionr a ele o seu JPanel customizado. Um dos construtores de JDialog permite que você o crie de forma modal.

RicardoCobain

O Problema é que colocando ele no JDialog eu iria perder os efeitos, Cantos Arredondados, Sombra…

R

Acho que pode ser interessante estudar a implementação do componente Heads Up Display dos MacWdigets for Java:

http://explodingpixels.wordpress.com/2009/06/23/mac-widgets-for-java-0-9-5/

RicardoCobain

roger_rf, valeu pela dica, da pra aproveitar alguns componentes dessa MacWdigets.

A parte visual já está acabada, só falta saber como se cria um MODAL PANEL que é exibido dentro do glassPane.
O Efeito de fundo é um Blur (que pode ser mudado), contem sombra, bordas arredondadas, trasparência, etc …

Olhem ai como e que está o visual:

R

Ficou um bom visual, parabéns :slight_smile:

Criado 16 de setembro de 2009
Ultima resposta 24 de set. de 2009
Respostas 5
Participantes 2