Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

ダイアログのフォント設定

JOptionPane.showConfirmDialog(null, parent.toString() + "\nとフォルダ内のアイテムを削除しますか?", "アイテム削除の確認", JOptionPane.YES_NO_OPTION);
のようなダイアログ内のメッセージやボタンのフォントの設定の仕方が分かりません。
どのように行えば良いのでしょうか?

2

回答

7976

閲覧

2件の回答

評価

0

UIManager.put("Button.font", new Font("SansSerif", Font.PLAIN, 20));
こんな感じでしょうか。
デフォルトが変わるので注意してください。

評価

30

4年前の質問ですが、回答しちゃいます。

JOptionPane配下の全コンポーネントに、フォントを設定
してみては如何でしょうか?
これなら、デフォルトを変更しなくて良いです。

サンプル
-------------------------

import javax.swing.*;
import java.awt.*;

public class Test {
 public static void main(String[] args) {
  new Test();
 }
    
 Test() {
  JOptionPane optionPane = new JOptionPane(
   "メッセージ",
   JOptionPane.WARNING_MESSAGE,
   JOptionPane.YES_NO_OPTION);
   JDialog dialog = optionPane.createDialog(
    null, "タイトル");
        
   setFont(
    dialog.getContentPane().getComponents(),
    new Font("MS ゴシック", Font.ITALIC, 20));
   
   dialog.setVisible(true);        
 }
    
 void setFont(Component[] components, Font font) {
  if (components == null) {
   return;
  }
  for (int i = 0; i < components.length; i++) {
   components[i].setFont(font);
   setFont(
    ((JComponent) components[i]).getComponents(), 
     font);
  }
 }
}
-------------------------

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。