1 /* 2 * Copyright (C) 2015 Jack Jiang(cngeeker.com) The BeautyEye Project. 3 * All rights reserved. 4 * Project URL:https://github.com/JackJiang2011/beautyeye 5 * Version 3.6 6 * 7 * Jack Jiang PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 8 * 9 * BeautyEyeLookAndFeelCross.java at 2015-2-1 20:25:40, original version by Jack Jiang. 10 * You can contact author with jb2011@163.com. 11 */ 12 package org.jb2011.lnf.beautyeye; 13 14 import javax.swing.UIDefaults; 15 import javax.swing.UIManager; 16 import javax.swing.plaf.metal.MetalLookAndFeel; 17 18 // TODO: Auto-generated Javadoc 19 /** 20 *<p> 21 * BeautyEye Swing外观实现方案 - 跨平台通用外观实现主类.<br> 22 * <p> 23 * 本主题主类仅供跨平台时使用,它可用于Java支持的所有操作系统. 24 * 25 * @author Jack Jiang(jb2011@163.com) 26 * @version 1.0 27 */ 28 // * 参考源码基于JDK_1.6.0_u18. 29 //如果要继承BasicLookAndFeel实现跨平台lnf 则还需要做更多的工作,目前 30 //跨平台时干脆继承MetalLookAndFeel以便站在巨人的肩膀上,节省一些工作量 31 public class BeautyEyeLookAndFeelCross extends MetalLookAndFeel 32 { 33 static{ 34 BeautyEyeLookAndFeelWin.initLookAndFeelDecorated(); 35 } 36 37 /** 38 * Instantiates a new beauty eye look and feel cross. 39 */ 40 public BeautyEyeLookAndFeelCross() 41 { 42 super(); 43 44 // //本属性仅对windows平台有效?! -> Jack Jiang最终证实没效果!!!!!!!!!!! 45 // UIManager.put("Application.useSystemFontSettings", Boolean.TRUE); 46 //取消Metal LNF中默认的粗体字 47 UIManager.put("swing.boldMetal", Boolean.FALSE); 48 //此项如是true,则将会为TabbedPane的内容面板填充天蓝色背景 49 UIManager.put("TabbedPane.contentOpaque", Boolean.FALSE); 50 //此项如是true,则将会为TabbedPane的标签填充天蓝色背景 51 UIManager.put("TabbedPane.tabsOpaque", Boolean.FALSE); 52 BeautyEyeLNFHelper.implLNF(); 53 54 //自定义JFileChooser的L&F实现(为了解决JFileChooser中的文件查看列表的行高问题) 55 org.jb2011.lnf.beautyeye.ch20_filechooser.__UI__.uiImpl_cross(); 56 57 // JFrame.setDefaultLookAndFeelDecorated(true); 58 // JDialog.setDefaultLookAndFeelDecorated(true); 59 } 60 61 /* (non-Javadoc) 62 * @see javax.swing.plaf.metal.MetalLookAndFeel#getName() 63 */ 64 @Override 65 public String getName() 66 { 67 return "BeautyEyeCross"; 68 } 69 70 /* (non-Javadoc) 71 * @see javax.swing.plaf.metal.MetalLookAndFeel#getID() 72 */ 73 @Override 74 public String getID() 75 { 76 return "BeautyEyeCross"; 77 } 78 79 /* (non-Javadoc) 80 * @see javax.swing.plaf.metal.MetalLookAndFeel#getDescription() 81 */ 82 @Override 83 public String getDescription() 84 { 85 return "BeautyEye cross-platform L&F developed by Jack Jiang(jb2011@163.com)."; 86 } 87 88 /** 89 * Gets the supports window decorations. 90 * 91 * @return the supports window decorations 92 * {@inheritDoc} 93 */ 94 @Override 95 public boolean getSupportsWindowDecorations() 96 { 97 return true; 98 } 99 100 /* (non-Javadoc) 101 * @see javax.swing.plaf.metal.MetalLookAndFeel#isNativeLookAndFeel() 102 */ 103 @Override 104 public boolean isNativeLookAndFeel() 105 { 106 return false; 107 } 108 109 /* (non-Javadoc) 110 * @see javax.swing.plaf.metal.MetalLookAndFeel#isSupportedLookAndFeel() 111 */ 112 @Override 113 public boolean isSupportedLookAndFeel() 114 { 115 return true; 116 } 117 118 /** 119 * {@inheritDoc} 120 */ 121 protected void initComponentDefaults(UIDefaults table) 122 { 123 super.initComponentDefaults(table); 124 initOtherResourceBundle(table); 125 } 126 /** 127 * Initialize the defaults table with the name of the other ResourceBundle 128 * used for getting localized defaults. 129 */ 130 protected void initOtherResourceBundle(UIDefaults table) 131 { 132 table.addResourceBundle( "org.jb2011.lnf.beautyeye.resources.beautyeye" ); 133 } 134 }