JAVA中修改JOptionPane的字体样式(Font)

来源:互联网 发布:生肖 知乎 编辑:程序博客网 时间:2024/06/05 05:46

关于修改JOptionPane的字体样式

本来打算这样写,不过不起作用

JOptionPane option = new JOptionPane();// 设置字体option.setFont(new Font("幼圆", Font.ITALIC, 40));// 设置颜色option.setForeground(Color.BLUE);// 显示Dialogoption.showMessageDialog(null, "好像没有反应");
  • 效果如图(没有反应)
    失败尝试

查阅Google,发现如下解决方法:

方法1. 使用UIManager来设置OptionPane的显示效果

// 设置按钮显示效果UIManager.put("OptionPane.buttonFont", new FontUIResource(new Font("宋体", Font.ITALIC, 13)));// 设置文本显示效果UIManager.put("OptionPane.messageFont", new FontUIResource(new Font("宋体", Font.ITALIC, 13)));JOptionPane.showMessageDialog(null, "我是用UIManager设置过的Dialog");
  • 效果如图
    UIManager管理

方法2. 使用内部载入JLabel,JButton

// 确定按钮JButton btnYes = new JButton("可以了哦");btnYes.setFont(new Font("幼圆", Font.BOLD, 16));btnYes.setForeground(Color.MAGENTA);// 否定按钮JButton btnNo = new JButton("不行不行");btnNo.setFont(new Font("幼圆", Font.ITALIC, 18));btnNo.setForeground(Color.PINK);// 按钮选项加入数组Object[] options = { btnYes, btnNo };// 文本内容JLabel label = new JLabel("我是加入了Label和JButton的Dialog这样可以吗?");label.setForeground(Color.ORANGE);label.setFont(new Font("宋体", Font.ITALIC, 16));// 显示DialogJOptionPane.showOptionDialog(null, label, "标题", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,                null, options, options[0]);
  • 效果如图
    使用JLabel和JButton

方法3. 使用内部载入JLabel,并在JLabel中使用HTML标签

JOptionPane.showConfirmDialog(null, new JLabel("<html><h2><font color='blue'>你好</font><font color='#cc22ff'> 我是HTML实现的哦~</font></h2></html>"), "使用HTML!", JOptionPane.YES_NO_OPTION);
  • 效果如图
    这里写图片描述

谢谢,本文结束

1 0
原创粉丝点击