Texto do JOptionPane em negrito

6 respostas
levimendes

Olá pessoal, alguém poderia me dizer como eu faço para colocar um determinado texto de um JOptionPane em negrito?
Eu fiz assim mas não funcionou:

String n = "<html><b>" + f.getTitle() + "</html></b>";
			JOptionPane.showMessageDialog(null,"O formulário \""  + n + "\"  está aberto.");

6 Respostas

E

Para o HTML funcionar, ele tem de ser válido e correto - você abriu mas não fechou o HTML. Além disso, a mensagem TEM DE COMEÇAR com “” senão o Swing não usa HTML. OK?

String mensagem = "<html>"
   + "O formulário " 
   + "<i>\"" 
   + f.getTitle()
   + "\"</i>"
   + "  está aberto."
   + "</html>";
JOptionPane.showMessageDialog(null,mensagem);

(Usei “” em vez de “” porque o look and feel padrão do Java usa já todas as fontes Bold por default, e você não iria enxergar a diferença.)

levimendes

isso significa que eu não posso deixar apenas uma palavra no meio de uma string em negrito?

E

Pode sim. É que se você não mudar o Look & Feel no seu programa quando for rodá-lo, ou se você não usar a chamada UIManager.put(“swing.boldMetal”, Boolean.FALSE);
antes de criar qualquer janela, todos os textos irão ficar em negrito, não só uma palavra isolada. Exemplo:

import javax.swing.*;

class Teste {
    public static void main (String[] args) {
        UIManager.put("swing.boldMetal", Boolean.FALSE); // veja o que isto faz com seu programa
        String mensagem = "<html>"
           + "O formulário " 
           + "<b>\"" 
           + "Camarada Rostropovich"
           + "\"</b>"
           + " já está aberto."
           + "</html>";
        JOptionPane.showMessageDialog(null,mensagem);      
    }
}
levimendes

sim, mas neste caso eu estou usando:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

este comando deixa o systema com a “cara” do SO.

E

Ok, então não precisa se preocupar com essa história do default que deixa tudo em negrito.

levimendes

legal cara, deu certo, brigadão.

Criado 14 de junho de 2010
Ultima resposta 14 de jun. de 2010
Respostas 6
Participantes 2