문제

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 태그로 텍스트를 감싸십시오. 많은 스윙 구성 요소는 이탤릭체, 대담하고 밑줄과 같은 일부 기본 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