1

JTextFieldウィンドウ内のフォントを変更するために設定する必要がある ui manager プロパティを知る必要がありJOptionPane.showInputDialogます。

4

5 に答える 5

4

これは、JOptionPane のテキストとボタンの両方のフォントを変更するのに役立ちました。
Font font = new Font(Font.SANS_SERIF, Font.PLAIN, 20);
UIManager.put("OptionPane.messageFont", フォント);
UIManager.put("OptionPane.buttonFont", フォント);

于 2014-03-28T16:30:44.103 に答える
2

私はあなたが望むと信じていますTextField.fontJTextFieldこれにより、現在インストールされているルック アンド フィールのすべての に対してデフォルトで使用されるフォントが返されます...

JTextFieldより良い解決策は、使用したいフォントを使用して独自のセットアップを提供することです。

例えば...

(申し訳ありませんが、更新され、間違ったダイアログを使用しました:P)

ここに画像の説明を入力

import java.awt.EventQueue;
import java.awt.Font;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class TestOptionPane09 {

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
                }

                JTextField field = new JTextField("Hello");
                field.setFont(field.getFont().deriveFont(Font.BOLD, 24));
                String[] options = {"Ok", "Cancel"};
                int result = JOptionPane.showOptionDialog(
                        null,
                        field,
                        "Help",
                        JOptionPane.OK_CANCEL_OPTION,
                        JOptionPane.QUESTION_MESSAGE,
                        null,
                        options,
                        0);
                switch (result) {
                    case 0:
                        System.out.println("Okay");
                        break;
                    case 1:
                        System.out.println("Cancel");
                        break;
                }
            }
        });
    }
}
于 2013-06-12T07:11:42.693 に答える