JOptionPane.showMessageDialog(null,"用户名或密码错误/n请重新输入","错误",JOptionPane.ERROR_MESSAGE);
显示后其中中文的字体大小为默认的11,太小了,都变形了,不好看。但是MessageDialog中没有setFont这样的函数,那要如何设置该语句中的中文字体呢?
---------------------------------------------------------------
我们先来看参数,JOptionPane.showMessageDialog(Component, Object, String, int);第二个参数为Object,我们可以用一个JLabel来替代以前的String,给JLabel一个Font就OK了。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
/**
* Java中弹出对话框中的字体设置问题
* @author 五斗米 <如转载请保留作者和出处>
* @blog http://blog.csdn.net/mq612
*/
public class Test {
JFrame frame;
JButton button;
Font font;
public Test(){
font = new Font("宋体",0,12);
UIManager.put("Button.font",font);
UIManager.put("Label.font",font);
frame = new JFrame("Test");
button = new JButton("弹出");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
JLabel l = new JLabel("用户名或密码错误/n请重新输入");
JOptionPane.showMessageDialog(frame,l,"错误",JOptionPane.ERROR_MESSAGE);
}
});
frame.getContentPane().add(button);
frame.setSize(300, 200);
frame.setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}