请看下面的代码片段:
package test;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;
public class test extends JFrame{
public static void main(String[] args){
new test();
}
public test(){
JPanel contentPanel=new JPanel();
setContentPane(contentPanel);
setUIAppearence();
JButton button=new JButton("click here to show a dialog");
button.setBounds(100,100, 100, 80);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(test.this,"Hello ,it's me");
}
});
contentPanel.add(button);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(new Dimension(500, 500));
setVisible(true);
}
public void setUIAppearence(){
UIManager uiManager=new UIManager();
uiManager.put("OptionPane.background",Color.WHITE);
uiManager.put("Panel.background", Color.WHITE);//Panel.background和OptionPane.background共同来改变JOptionPane的背景颜色
uiManager.put("OptionPane.buttonFont", new Font("楷体", Font.BOLD,40));//OptionPane.buttonFont用于设置按钮的背景颜色
}
}
具体的可以更改的东西,请看点击打开链接。需要注意的是,在这里更改了,就是更改了应用程序的全部相应组件的外观。但是有很多东西都是改不了的,比如说按钮的背景颜色,并且如果只想改变某一个组件,那么这时候该怎么办呢?有两种方法,
第一种方法是直接查看JOptionPane的源代码,从其中找到相关的源代码,来修改。
第二种方法是继承一个JDialog类来实现。