Как сделать определенное слово (переменную) в окне сообщения жирным шрифтом в Java?
-
19-09-2019 - |
Вопрос
Я пытаюсь выделить одно слово (переменную) в окне сообщения в своей 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);
Я хочу, чтобы переменная «файл» отображалась жирным шрифтом в моем окне сообщения.До сих пор мне удавалось выделить только все окно сообщения жирным шрифтом или вообще ничего.Как мне это сделать?
Решение
Попробуйте обернуть текст в html-теги.Многие из компонентов Swing поддерживают некоторые базовые 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);
Другие советы
Использование 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);