Swing LookandFeel制作的总结
来源:互联网 发布:量子技术 知乎 编辑:程序博客网 时间:2024/05/16 11:30
加载皮肤
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");// Java默认风格
MetalLookAndFeel.initClassDefaults方法设置个中组件的风格类
Object[] arrayOfObject = { "ButtonUI", "javax.swing.plaf.metal.MetalButtonUI","CheckBoxUI", "javax.swing.plaf.metal.MetalCheckBoxUI", "ComboBoxUI", "javax.swing.plaf.metal.MetalComboBoxUI", "DesktopIconUI", "javax.swing.plaf.metal.MetalDesktopIconUI", "FileChooserUI", "javax.swing.plaf.metal.MetalFileChooserUI", "InternalFrameUI", "javax.swing.plaf.metal.MetalInternalFrameUI","LabelUI", "javax.swing.plaf.metal.MetalLabelUI","PopupMenuSeparatorUI", "javax.swing.plaf.metal.MetalPopupMenuSeparatorUI","ProgressBarUI", "javax.swing.plaf.metal.MetalProgressBarUI","RadioButtonUI", "javax.swing.plaf.metal.MetalRadioButtonUI","ScrollBarUI", "javax.swing.plaf.metal.MetalScrollBarUI","ScrollPaneUI", "javax.swing.plaf.metal.MetalScrollPaneUI","SeparatorUI", "javax.swing.plaf.metal.MetalSeparatorUI","SliderUI", "javax.swing.plaf.metal.MetalSliderUI","SplitPaneUI", "javax.swing.plaf.metal.MetalSplitPaneUI","TabbedPaneUI", "javax.swing.plaf.metal.MetalTabbedPaneUI","TextFieldUI", "javax.swing.plaf.metal.MetalTextFieldUI","ToggleButtonUI", "javax.swing.plaf.metal.MetalToggleButtonUI","ToolBarUI", "javax.swing.plaf.metal.MetalToolBarUI","ToolTipUI", "javax.swing.plaf.metal.MetalToolTipUI","TreeUI", "javax.swing.plaf.metal.MetalTreeUI","RootPaneUI", "javax.swing.plaf.metal.MetalRootPaneUI"};
部分组件风格上面没有(如JPanel),仍继承父类的风格(BasicLookAndFeel)。
看看BasicLookAndFeel.initClassDefaults方法:
Object[] arrayOfObject = {"ButtonUI", "javax.swing.plaf.basic.BasicButtonUI","CheckBoxUI", "javax.swing.plaf.basic.BasicCheckBoxUI","ColorChooserUI", "javax.swing.plaf.basic.BasicColorChooserUI","FormattedTextFieldUI", "javax.swing.plaf.basic.BasicFormattedTextFieldUI","MenuBarUI", "javax.swing.plaf.basic.BasicMenuBarUI","MenuUI", "javax.swing.plaf.basic.BasicMenuUI","MenuItemUI", "javax.swing.plaf.basic.BasicMenuItemUI","CheckBoxMenuItemUI", "javax.swing.plaf.basic.BasicCheckBoxMenuItemUI","RadioButtonMenuItemUI", "javax.swing.plaf.basic.BasicRadioButtonMenuItemUI","RadioButtonUI", "javax.swing.plaf.basic.BasicRadioButtonUI","ToggleButtonUI", "javax.swing.plaf.basic.BasicToggleButtonUI","PopupMenuUI", "javax.swing.plaf.basic.BasicPopupMenuUI","ProgressBarUI", "javax.swing.plaf.basic.BasicProgressBarUI","ScrollBarUI", "javax.swing.plaf.basic.BasicScrollBarUI","ScrollPaneUI", "javax.swing.plaf.basic.BasicScrollPaneUI","SplitPaneUI", "javax.swing.plaf.basic.BasicSplitPaneUI","SliderUI", "javax.swing.plaf.basic.BasicSliderUI","SeparatorUI", "javax.swing.plaf.basic.BasicSeparatorUI","SpinnerUI", "javax.swing.plaf.basic.BasicSpinnerUI","ToolBarSeparatorUI", "javax.swing.plaf.basic.BasicToolBarSeparatorUI", "PopupMenuSeparatorUI", "javax.swing.plaf.basic.BasicPopupMenuSeparatorUI","TabbedPaneUI", "javax.swing.plaf.basic.BasicTabbedPaneUI", "TextAreaUI", "javax.swing.plaf.basic.BasicTextAreaUI", "TextFieldUI", "javax.swing.plaf.basic.BasicTextFieldUI","PasswordFieldUI", "javax.swing.plaf.basic.BasicPasswordFieldUI","TextPaneUI", "javax.swing.plaf.basic.BasicTextPaneUI", "EditorPaneUI", "javax.swing.plaf.basic.BasicEditorPaneUI","TreeUI", "javax.swing.plaf.basic.BasicTreeUI", "LabelUI", "javax.swing.plaf.basic.BasicLabelUI", "ListUI", "javax.swing.plaf.basic.BasicListUI", "ToolBarUI", "javax.swing.plaf.basic.BasicToolBarUI", "ToolTipUI", "javax.swing.plaf.basic.BasicToolTipUI", "ComboBoxUI", "javax.swing.plaf.basic.BasicComboBoxUI","TableUI", "javax.swing.plaf.basic.BasicTableUI", "TableHeaderUI", "javax.swing.plaf.basic.BasicTableHeaderUI","InternalFrameUI", "javax.swing.plaf.basic.BasicInternalFrameUI", "DesktopPaneUI", "javax.swing.plaf.basic.BasicDesktopPaneUI", "DesktopIconUI", "javax.swing.plaf.basic.BasicDesktopIconUI", "OptionPaneUI", "javax.swing.plaf.basic.BasicOptionPaneUI", "PanelUI", "javax.swing.plaf.basic.BasicPanelUI", "ViewportUI", "javax.swing.plaf.basic.BasicViewportUI", "RootPaneUI", "javax.swing.plaf.basic.BasicRootPaneUI" };
再瞧瞧PanelUI的风格javax.swing.plaf.basic.BasicPanelUI
LookAndFeel中方法太多,看个简单的
皮肤风格已加载如LookAndFeel,现在只需要组件应用。
看看updateUI()
public void updateUI() { setUI((PanelUI)UIManager.getUI(this)); }
再看看setUI
public void setUI(PanelUI paramPanelUI) { super.setUI(paramPanelUI); }
最后看看super(即JComponent)的setUI方法
好了,皮肤流程over。
终于在那个BasicLookAndFeel中找到了
Panel.background--->Color localColor1 --->control--->"#C0C0C0"
- Swing LookandFeel制作的总结
- java Swing 修改外观(LookAndFeel)的方法
- java swing的默人LookAndFeel
- Java Swing LookAndFeel Demo
- Swing:LookAndFeel 教程第一篇——手把手教你写出自己的 LookAndFeel
- [原创]Swing技巧8:完美的LookAndFeel解决方案
- Swing在进行LookAndFeel切换时异常的解决方法
- 如何设置好看的swing风格主题界面lookandfeel
- Swing 皮肤(LookAndFeel)演示 demo
- Swing 可插入外观LookAndFeel浅析
- Swing 观感设置(LookAndFeel)(转)
- LookAndFeel的一个BUG
- 更改 NetBeans IDE 的 LookAndFeel
- swing制作的启动界面
- Swing提示框的制作
- Swing 不规则窗体的制作
- [原创]Swing技巧.5:运行中重设LookAndFeel
- 发现一个很好的JAVA LookandFeel
- sum MQ启动服务性指令
- 類似 搜索提示功能
- supermap objects 地图上添加 点线面图层 和删除图层 的类
- 宝马X3 xDrive28i性能测试
- C#屏蔽ComboBox系统右键菜单介绍(通过API拦截消息)
- Swing LookandFeel制作的总结
- 物流解决方案收集
- 关于Spring中dataSource的配置
- 正则表达式入门非常不错的讲解
- R12 Mapping Between Subledger Tables, SLA and GL Tables
- http://gekben.gitcd.com/blog/2012/07/11/collection-of-network-performance-tuning-tools/
- 地理(投影)坐标与屏幕坐标的转换!
- ILayerEffects接口用来设置一个要素图层的透明度,对比度,对比度
- Excel 单元格按照条件改变背景颜色