国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

代碼分享:Swing外觀 抗鋸齒 字體設置

開發 后端
這個是一個界面顯示效果的處理,Swing中文顯示一直都是不怎么美觀,經過修改,比默認的好看多了。下文提供代碼。

 [圖片]  默認

 [圖片]  使用Nimbus

[圖片]  使用Nimbus并開啟抗鋸齒

 

 [圖片]  使用Nimbus,開啟抗鋸齒并使用自選字體

代碼片段:

  1. package canghailan.ui;  
  2.  
  3. import javax.swing.*;  
  4. import javax.swing.plaf.FontUIResource;  
  5. import java.awt.*;  
  6. import java.util.HashMap;  
  7. import java.util.Map;  
  8.  
  9. /**  
  10.  * @author canghailan  
  11.  * @datetime 2011-12-19 11:13  
  12.  */ 
  13. public class UIs {  
  14.  
  15.     private static final String FALLBACK_FONT_FAMILY_NAME = Font.SANS_SERIF;  
  16.     private static final Map<String, String> FONT_FAMILY_NAMES = new HashMap<>();  
  17.     private static final String[] BEST_FONT_FAMILIES = {  
  18.             "微軟雅黑""arial""sans-serif" 
  19.     };  
  20.     private static final int BEST_FONT_SIZE = 12// 12px  
  21.  
  22.     static {  
  23.         GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();  
  24.         String[] fontFamilyNames = env.getAvailableFontFamilyNames();  
  25.         for (String fontFamilyName : fontFamilyNames) {  
  26.             FONT_FAMILY_NAMES.put(fontFamilyName.toLowerCase(), fontFamilyName);  
  27.         }  
  28.         if (!FONT_FAMILY_NAMES.containsKey("serif")) {  
  29.             FONT_FAMILY_NAMES.put("serif", Font.SERIF);  
  30.         }  
  31.         if (!FONT_FAMILY_NAMES.containsKey("sans-serif")) {  
  32.             FONT_FAMILY_NAMES.put("sans-serif", Font.SANS_SERIF);  
  33.         }  
  34.     }  
  35.  
  36.     public static void enableAntiAliasing() {  
  37.         System.setProperty("awt.useSystemAAFontSettings""on");  
  38.         System.setProperty("swing.aatext""true");  
  39.     }  
  40.  
  41.     public static String getLookAndFeel() {  
  42.         try {  
  43.             for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {  
  44.                 if ("Nimbus".equals(info.getName())) {  
  45.                     return info.getClassName();  
  46.                 }  
  47.             }  
  48.         } catch (Exception ignore) {  
  49.         }  
  50.         return UIManager.getCrossPlatformLookAndFeelClassName();  
  51.     }  
  52.  
  53.     public static String getFontFamily(String[] fontFamilies) {  
  54.         for (String fontFamily : fontFamilies) {  
  55.             fontFamily = fontFamily.toLowerCase();  
  56.             if (FONT_FAMILY_NAMES.containsKey(fontFamily)) {  
  57.                 return FONT_FAMILY_NAMES.get(fontFamily);  
  58.             }  
  59.         }  
  60.         return FALLBACK_FONT_FAMILY_NAME;  
  61.     }  
  62.  
  63.     public static String[] getBestFontFamilies() {  
  64.         return BEST_FONT_FAMILIES;  
  65.     }  
  66.  
  67.     public static int getBestFontSize() {  
  68.         return BEST_FONT_SIZE;  
  69.     }  
  70.  
  71.     /*########################################*/ 
  72.  
  73.     public static void setUI() {  
  74.         enableAntiAliasing();  
  75.         // set LookAndFeel  
  76.         try {  
  77.             UIManager.setLookAndFeel(getLookAndFeel());  
  78.         } catch (Exception ignore) {  
  79.         }  
  80.         // set DefaultFont  
  81.         String bestFontFamily = getFontFamily(getBestFontFamilies());  
  82.         for (Map.Entry<Object, Object> entry : UIManager.getDefaults().entrySet()) {  
  83.             if (entry.getValue() instanceof FontUIResource) {  
  84.                 FontUIResource fontUIRes = (FontUIResource) entry.getValue();  
  85.                 entry.setValue(new FontUIResource(  
  86.                         bestFontFamily,  
  87.                         fontUIRes.getStyle(),  
  88.                         getBestFontSize() > fontUIRes.getSize() ?  
  89.                                 getBestFontSize() : fontUIRes.getSize()  
  90.                 ));  
  91.             }  
  92.         }  
  93.     }  

最新版本:UIs.java

源碼下載:http://down.51cto.com/data/319345

原文鏈接:http://www.oschina.net/code/snippet_116768_7750

【編輯推薦】

  1. Jease 2.6發布 Java開源內容框架
  2. 一個Java程序員對2011年的回顧
  3. 用Java GUI編寫的畫板程序
  4. Java的動態綁定機制
  5. Java中帶復選框的樹的實現和應用

 

責任編輯:林師授 來源: 開源中國社區
相關推薦

2015-09-15 09:20:16

圖片變形抗鋸齒

2009-07-15 10:37:28

Swing外觀

2009-07-10 12:30:12

Swing組件

2009-07-10 15:18:48

Synth外觀Swing外觀

2009-06-04 15:52:25

Netbeans6.5字體無法抗鋸齒Ubuntu9.04

2018-08-06 16:31:36

NVIDIA光線抗鋸齒

2012-01-17 17:08:05

JavaSwing

2012-05-31 14:11:49

SwingSubstance異常

2009-07-14 14:03:56

Swing程序

2009-06-10 17:11:01

linux netbe反鋸齒處理

2010-04-26 16:36:31

DNS負載均衡設置

2009-06-10 20:24:17

netbeans my字體設置

2018-10-18 14:28:33

2009-07-15 09:24:30

Swing動態刷新

2021-08-07 07:59:20

Windows 11操作系統微軟

2009-07-14 16:07:59

調用JavaFX代碼Swing程序

2009-07-17 16:49:18

lookandfeelSwing

2009-07-14 16:02:04

SWT和Swing

2009-08-17 07:43:42

Linux命令行安裝字linux命令行安裝彩色字體設置

2010-07-08 13:32:17

UDPClient
點贊
收藏

51CTO技術棧公眾號

麻豆精品网站| 久久av最新网址| 日韩视频永久免费观看| 国产三级在线看| 欧美日韩一区二区三区在线免费观看 | 国产日韩欧美另类| 日韩精品欧美| 日韩欧美亚洲另类制服综合在线| 免费在线黄色电影| 91国偷自产一区二区开放时间 | 视频一区二区三区国产| 亚洲成a人片在线观看中文| 天堂av免费观看| 午夜精品影院在线观看| a中文在线播放| 亚洲第一精品电影| 精品国产欧美日韩一区二区三区| 久久久国产一区二区三区| jizzjizzjizz欧美| 成人国产精品久久久| 亚洲免费观看| youjizz.com亚洲| 久久免费午夜影院| 久草在线中文888| 欧美一区二区三区在线观看视频| 蜜臀国产一区| 91爱视频在线| 亚洲午夜极品| 天天想你在线观看完整版电影免费| 91在线视频网址| 国产超碰在线| 亚洲国产小视频| 国产精品调教视频| 国产成人av一区二区三区| 老司机精品视频一区二区三区| 免费av观看网址| 亚洲成av人片一区二区梦乃 | 欧美性片在线观看| 97国产精品免费视频| 91精品亚洲| 成人黄色片免费| 亚洲自拍偷拍图区| 久草在线资源站资源站| 欧美国产极速在线| 99精品国产一区二区青青牛奶| 男人添女荫道口女人有什么感觉| 亚洲精品日产精品乱码不卡| 黄色精品在线观看| 欧美寡妇偷汉性猛交| 亚洲高清在线| 精品久久久久av| 欧美日本韩国一区二区三区视频| 亚洲男男av| 国产精成人品localhost| av在线播放一区二区三区| 调教视频在线观看| 在线国产精品播放| 欧美激情在线| 国产精品人人爽人人爽| 日韩午夜在线播放| 精品国产一区探花在线观看 | 国外成人在线直播| 国产欧美一级| 网上成人av| 亚洲国产精品久久久| 国产探花一区在线观看| 欧美在线观看黄| 精品视频在线免费看| 无码国模国产在线观看| www.久久久| 椎名由奈av一区二区三区| 韩国精品一区| 99re视频在线播放| 国产精品丝袜一区| 中老年在线免费视频| 91精品视频播放| 久久免费午夜影院| 亚洲优女在线| 久久99精品久久久久久水蜜桃| 国产精品久久99| 成人福利av| 欧美精品123| 一本一道久久a久久精品| 亚洲专区**| 国产av熟女一区二区三区 | 精品一区二区三区四区| 麻豆精品国产91久久久久久| 国产三级在线| 国产精品一色哟哟| 日韩在线观看网站| 亚洲成av人片一区二区密柚| 国产1区2区3区| 日韩av电影手机在线| 91精品国产乱码久久蜜臀| 午夜一区不卡| 黄色av免费在线观看| 欧美一区二区三区日韩视频| 999精品视频| 国产成人生活片| 欧美另类久久久品| 日日夜夜精品视频天天综合网| 亚洲欧洲专区| 正在播放日韩精品| 亚洲淫性视频| 久久精品蜜桃| 秋霞av在线| 天天夜夜亚洲| 三级在线视频| 国产三级视频在线播放线观看| 9999在线观看| 亚洲人成网站999久久久综合| 久久五月激情| 在线电影av| 日韩妆和欧美的一区二区| 欧美日韩你懂的| 婷婷成人影院| 国产成人黄色网址| 97国产一区二区精品久久呦| 精品一区二区三区在线播放 | 国产成人精选| 成人h片在线播放免费网站| 琪琪一区二区三区| 精品资源在线看| 日韩av电影在线网| 色综合天天综合网天天狠天天 | 亚洲福利在线播放| 国产精品视频线看| 成人性生交大片免费看96| 久久免费一级片| 亚洲福利视频专区| 丝袜美腿成人在线| 一区二区在线观看视频在线观看| 成人在线观看亚洲| 青青视频免费在线观看| 日韩少妇内射免费播放| 久久99久久精品国产| 国产精品乱码一区二区三区| 这里只有精品丝袜| 欧美日韩国产在线观看| 日韩美女视频一区二区 | 成人国产一区| 裸体xxxx视频在线| 毛片手机在线观看| 国产午夜视频| eeuss在线观看| 亚洲欧美一区二区在线观看| 91精品国产自产在线观看永久∴ | 妺妺窝人体色www在线观看| 国产视频久久久久| 美日韩中文字幕| 亚洲国产欧美国产第一区| 成人超碰在线| 久做在线视频免费观看| 尤物网站在线| 激情视频在线观看| 超碰免费在线| 午夜在线视频| 免费人成在线观看播放视频 | 秋霞电影网一区二区| 精精国产xxxx视频在线中文版| 久草在线官网| 久草在线视频福利| 欧美第一视频| 99热精品久久| 日韩经典中文字幕一区| 欧美午夜电影在线| 国产精品一区专区欧美日韩| 午夜免费一区二区| 日本中文字幕高清视频| 国产在线观看高清视频| 色香蕉在线观看| 亚洲精品久久久久久久久| 美女尤物国产一区| 国产精品福利影院| 精品久久久久久久久久久久包黑料| 蜜臀a∨国产成人精品| 国产亚洲久久| 亚洲国产资源| 伊人久久大香线蕉精品| 国内精品视频一区| 欧美久久一区二区| 91视频国产资源| 影音先锋日韩资源| 亚洲伦理网站| 波多野结衣在线网站| 18禁男女爽爽爽午夜网站免费 | 午夜影院免费在线| av污在线观看| 久久综合伊人77777麻豆| 日韩有码在线观看| 欧美日韩中文精品| 国产亚洲精品资源在线26u| 亚洲美女色禁图| 都市激情久久| 99re6在线精品视频免费播放| 一本色道久久亚洲综合精品蜜桃| 国产一区二区三区高清| 成人黄色网址在线观看| 亚洲一区二区三区精品在线| 性欧美videos另类喷潮|