用swing做的一个小的桌面系统,我想统一设置所有组件的字体。
例如,对话框的显示字体都默认设置为12,然后可以统一改变所有对话框的字体为14,然后再改变
为16,18等等,总之要能统一改变,整个系统保持一致。
请教!!

解决方案 »

  1.   

    UIManager.put("Button.font", font);
            UIManager.put("ToggleButton.font", font);
            UIManager.put("RadioButton.font", font);
            UIManager.put("CheckBox.font", font);
            UIManager.put("ColorChooser.font", font);
            UIManager.put("ToggleButton.font", font);
            UIManager.put("ComboBox.font", font);
            UIManager.put("ComboBoxItem.font", font);
            UIManager.put("InternalFrame.titleFont", font);
            UIManager.put("Label.font", font);
            UIManager.put("List.font", font);
            UIManager.put("MenuBar.font", font);
            UIManager.put("Menu.font", font);
            UIManager.put("MenuItem.font", font);
            UIManager.put("RadioButtonMenuItem.font", font);
            UIManager.put("CheckBoxMenuItem.font", font);
            UIManager.put("PopupMenu.font", font);
            UIManager.put("OptionPane.font", font);
            UIManager.put("Panel.font", font);
            UIManager.put("ProgressBar.font", font);
            UIManager.put("ScrollPane.font", font);
            UIManager.put("Viewport", font);
            UIManager.put("TabbedPane.font", font);
            UIManager.put("Table.font", font);
            UIManager.put("TableHeader.font", font);
            UIManager.put("TextField.font", font);
            UIManager.put("PasswordFiled.font", font);
            UIManager.put("TextArea.font", font);
            UIManager.put("TextPane.font", font);
            UIManager.put("EditorPane.font", font);
            UIManager.put("TitledBorder.font", font);
            UIManager.put("ToolBar.font", font);
            UIManager.put("ToolTip.font", font);
            UIManager.put("Tree.font", font);
    font你自己指定. 所有组件的字体都在这里了
      

  2.   

    ok,能说说UIManager具体怎么用吗?
    算了,还是我自己去看吧,或者给些提示,看得时候能快些。
      

  3.   

    public static void InitGlobalFont(Font fnt)
    {
    FontUIResource fontRes = new FontUIResource(fnt);
    for(Enumeration keys = UIManager.getDefaults().keys(); keys.hasMoreElements();)
    {
         Object key = keys.nextElement();
         Object value = UIManager.get(key);
         if(value instanceof FontUIResource)
         {
             UIManager.put(key, fontRes);
            }
    }

    }