回 帖 发 新 帖 刷新版面

主题:[讨论]求教一个JOptionPane字体大小的问题

代码如下 请问为什么JOptionPane的默认字体没有更改

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

public class DefaultFontTest {
    static {
        try {
            Font initFont = new Font("", Font.PLAIN, 16);
            UIManager.put("OptionPane.font", initFont);
            UIManager.put("Menu.font", initFont);
            UIManager.put("MenuItem.font", initFont);
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception ex) {}
    }

    public DefaultFontTest() {
        final JFrame frame = new JFrame();
        Container con = frame.getContentPane();
        con.setLayout(new BorderLayout());

        JMenuBar mb = new JMenuBar();
        JMenu menu = new JMenu("File");
        JMenuItem mi = new JMenuItem(new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(frame, "显示OptionPane");
            }
        });
        mi.setText("open");
        mb.add(menu);
        menu.add(mi);

        frame.setJMenuBar(mb);
        frame.setBounds(200, 200, 400, 300);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new DefaultFontTest();
    }
}

回复列表 (共2个回复)

沙发


贴了多日没有回复只好自己顶了。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class DefaultFontTest {
    static {
        try {
            Font initFont = new Font("", Font.PLAIN, 16);
            UIManager.put("Menu.font", initFont);
            UIManager.put("MenuItem.font", initFont);
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception ex) {}
    }

    public DefaultFontTest() {
        final JFrame frame = new JFrame();
        Container con = frame.getContentPane();
        con.setLayout(new BorderLayout());

        JMenuBar mb = new JMenuBar();
        JMenu menu = new JMenu("File");
        JMenuItem mi = new JMenuItem(new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
                String msg =
                        "<html><Font size=5 color=red>一个<br>多行显示的<br>信息</html>";
                JOptionPane.showMessageDialog(frame, msg);
            }
        });
        mi.setText("open");
        mb.add(menu);
        menu.add(mi);

        frame.setJMenuBar(mb);
        frame.setBounds(200, 200, 400, 300);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new DefaultFontTest();
    }
}

板凳

不错

我来回复

您尚未登录,请登录后再回复。点此登录或注册