Sun Tech Tips里有定制JOptionPane的详细全过程,你可以去sun developer网站查一下
你也可以自己订制JOptionPaneUI
另外你可以用自己的L&F
或者用免费的L&F,比如Alloy方法很多拉

解决方案 »

  1.   

    楼主可以参考文档,然后see How to Make Dialogs, a section in The Java Tutorial.
    你可以在上面的链接中看到sun官方给出的范例,希望能够解决你的问题。
    附链接:http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html
      

  2.   

    楼主,我有个办法,你可以用ui管理器类,UIManager,
    在一个程序的main()方法的第一行,调用UIManager的静态方法put(),例如:
    public static void main(String x[]) {
            UIManager.put("Menu.font", new Font("宋体", Font.PLAIN, 12));
            UIManager.put("MenuItem.font", new Font("宋体", Font.PLAIN, 12));
            UIManager.put("Button.font", new Font("宋体", Font.PLAIN, 12));
            UIManager.put("Label.font", new Font("宋体", Font.PLAIN, 12));
            UIManager.put("TabbedPane.font", new Font("宋体", Font.PLAIN, 12));
            new ExamFrame();
        }这样就可以让你的程序当中所有的组件都是用同样的字体,put()方法的第一个参数是键名,第二个参数是键值,比如"Button.font",这就是告诉系统所有Button组件的font(字体)属性,后边是一个Object类型的参数,一定要对应前面给的属性,所以这里new 了一个Font类的对象,传给系统,以后只要是这个类调用到的类当中的Button组件都是这个字体
      

  3.   

    楼主如果还不明白的话,可以思考一下,一个JOptionPane上边也是有很多这种基本组件,包括Label,Button,等等,这么一来,不就解决了?
      

  4.   

    哦,忘了说了,例子当中宋体12号和windows当中的宋体9号一样大小,所以看上去一模一样,据对不适java默认的字体那么难看,Font类的用法楼主可以查查api文档。