Personalizar JOptionPane, tem como?

4 respostas
G

Pessoal,

Uso JOptionPane, mas precisava alterar a fonte do texto e os botões.

Criei os botões e consegui inserir no JOptionPane, mas eles não tem os listeners do botão padrão do JOptionPane. Tentei implementar o onClick com return 0, 1, …n mas não deu certo.

Como faço essas duas alterações?

4 Respostas

T

Hum… quase todo mundo que quer personalizar um JOptionPane acaba pedindo um monte de coisas que não é fácil de implementar ou de alterar em um JOptionPane. Por exemplo, é um pouco complicado alterar os textos para que eles fiquem em português.

O que eu recomendaria é criar uma classe derivada de JDialog que tivesse alguma flexibilidade (por exemplo, você poder indicar quantos botões você quer, etc). Então você usaria essa classe em vez de tentar “torcer” o JOptionPane. Você, se for um pouco esperto, vai precisar fazer isso uma vez só, e depois reaproveitar em seus projetos.

G

Eu já criei um componente assim, mas queria era economizar linhas de código. Pensei que isso era fácil.

Valeu.

S

Oi pessoal…

Referente ao JOptionPane, queria implementar um código numa janela do JOptionPane do NetBeans. Por exemplo, no código abaixo, onde esta destacado em negrito, queria que quando o usuário clicasse em OK, da caixa de diálogo(showMessageDialog), abrisse outro Form (no caso, JFrame). Tem como?

Beijos pessoal…

alt4=(BD.resultSet.getString(“alt4”));

resposta=(BD.resultSet.getString(“resposta”));

cont=(BD.resultSet.getInt(“id”));

}

if (cont!=<a href="http://pontos.id">pontos.id</a>){

this.dispose();

JOptionPane.showMessageDialog(null, “Fim de Jogo”);

System.exit(0);

}                }

catch(java.lang.Exception ex)

{

ex.printStackTrace();

}
F

Ressusintando um topico :P,

Com MessageDialog vc não consegue, vc pode colocar um ConfirmDialog e customizar para ele ter somente o botão OK,

JOptionPane.OK_OPTION

e em um if vc consegue fazer por exemplo

if(JOptionPane.showConfirmDialog(null, "", "", JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_OPTION) == JOptionPane.OK_OPTION){
  //faz algo
}
Criado 17 de abril de 2009
Ultima resposta 18 de mar. de 2010
Respostas 4
Participantes 4