Как сделать конкретное слово (переменную) в окне сообщения полужирным на Java? - PullRequest
1 голос
/ 14 марта 2010

Я пытаюсь сделать одно слово (переменную) из поля сообщения жирным шрифтом в моей Java-программе. Вот мой код:

int n = messageBox.showConfirmDialog(frame,
"The File "+ file +" already exists." +
"\n" + "Do you want to replace it?",
"File Already Exists!",
messageBox.YES_NO_OPTION);

Я хочу, чтобы переменная "file" отображалась жирным шрифтом в моем окне сообщения. До сих пор я только смог сделать так, чтобы все окно сообщения отображалось жирным шрифтом, или не отображалось вообще. Как мне это сделать?

Ответы [ 2 ]

3 голосов
/ 14 марта 2010

Использование HTML отлично работает для меня. Проблема в том, что шрифт по умолчанию уже выделен жирным шрифтом, поэтому вы не видите другого.

Попробуйте использовать тег "курсив" или тег "шрифт" и укажите другой цвет, чтобы увидеть разницу.

Или вместо передачи текстовой строки вы можете передать свой собственный JLabel с пользовательским шрифтом. Что-то вроде:

String message = "<html>The File <b> file </b> already exists</html>";
JLabel label = new JLabel(message);
label.setFont( UIManager.getFont("TextField.font") );

int result = JOptionPane.showConfirmDialog(
    this,
    label,
    "File already exists!",
    JOptionPane.YES_NO_OPTION);
2 голосов
/ 14 марта 2010

Попробуйте обернуть ваш текст в HTML-теги. Многие из компонентов колебания поддерживают некоторый основной HTML, такой как курсив, полужирный и подчеркивание. Например, вы должны изменить свой код следующим образом:

int n = messageBox.showConfirmDialog(frame,
"<html>The File <b>"+ file +"</b> already exists." +
"\n" + "Do you want to replace it?</html>",
"File Already Exists!",
messageBox.YES_NO_OPTION);
...