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();
}
}