Как сделать определенное слово (переменную) в окне сообщения жирным шрифтом в Java?

StackOverflow https://stackoverflow.com/questions/2440962

Вопрос

Я пытаюсь выделить одно слово (переменную) в окне сообщения в своей 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top