亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nimroddesktopiconui.java

?? NimROD L&F是一個具有多種主題的Swing皮膚
?? JAVA
字號:
/*
 *                 (C) Copyright 2007 Nilo J. Gonzalez
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser Gereral Public Licence as published by the Free
 * Software Foundation; either version 2 of the Licence, or (at your opinion) any
 * later version.
 * 
 * This library is distributed in the hope that it will be usefull, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of merchantability or fitness for a
 * particular purpose. See the GNU Lesser General Public Licence for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public Licence along
 * with this library; if not, write to the Free Software Foundation, Inc., 59
 * Temple Place, Suite 330, Boston, Ma 02111-1307 USA.
 *
 * http://www.gnu.org/licenses/lgpl.html (English)
 * http://gugs.sindominio.net/gnu-gpl/lgpl-es.html (Espa駉l)
 *
 *
 * Original author: Nilo J. Gonz醠ez
 */

package com.nilo.plaf.nimrod;

import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.geom.Rectangle2D;

import javax.swing.*;
import javax.swing.event.MouseInputAdapter;
import javax.swing.plaf.*;
import javax.swing.plaf.basic.*;

public class NimRODDesktopIconUI extends BasicDesktopIconUI {
  boolean hasFocus;
  
  private int width = UIManager.getInt( "NimRODDesktopIcon.width");
  private int height = UIManager.getInt( "NimRODDesktopIcon.height");
  
  private int bigWidth = UIManager.getInt( "NimRODDesktopIconBig.width");
  private int bigHeight = UIManager.getInt( "NimRODDesktopIconBig.height");
  
  private HackML hackML;
  private Icon resizeIcon, antIcon;

  public static ComponentUI createUI( JComponent c) {
    return new NimRODDesktopIconUI();
  }

  public NimRODDesktopIconUI() {
    super();
    
    hackML = new HackML();
  }

  protected void installDefaults() {
    super.installDefaults();
    
    LookAndFeel.uninstallBorder( desktopIcon);
  }

  protected void installComponents() {}
  
  protected void uninstallComponents() {}

  protected void installListeners() {
    super.installListeners();
    
    if ( frame != null ) {
      desktopIcon.addMouseListener( hackML);
      desktopIcon.addMouseMotionListener( hackML);
    }
  }

  protected void uninstallListeners() {
    super.uninstallListeners();
    
    desktopIcon.removeMouseListener( hackML);
    desktopIcon.removeMouseMotionListener( hackML);
  }
  
  public void update( Graphics g, JComponent c) {
    paint( g, c);
  }
  
  public void paint( Graphics g, JComponent c) {
    if ( frame.getFrameIcon() != antIcon ) {
      antIcon = frame.getFrameIcon();
      resizeIcon = NimRODUtils.reescala( antIcon, bigWidth, bigHeight);
    }
    String title = frame.getTitle();
    
    int x = 0;
    if ( resizeIcon != null ) { 
      x = ( width - resizeIcon.getIconWidth() ) / 2;
      resizeIcon.paintIcon( c, g, x, 2);
    }

    g.setFont( UIManager.getFont( "DesktopIcon.font"));
    FontMetrics fm = g.getFontMetrics();
    
    if ( hasFocus ) {
      int y = 0;
      String auxTit = getTitle( title, fm, width-10);    // Los anglos se mearan de risa al ver el nombre de esta variable...
      while ( auxTit.length() > 0 ) {
        if ( auxTit.endsWith( "...") ) {
          auxTit = auxTit.substring( 0, auxTit.length()-3);
        }
        
        Rectangle2D rect = fm.getStringBounds( auxTit, g);
        x = (int)( width - rect.getWidth() ) / 2;
        y += rect.getHeight();
        
        NimRODUtils.paintShadowTitleFat( g, auxTit, x, y, Color.white);
        
        title = title.substring( auxTit.length());
        auxTit = getTitle( title, fm, width-10);
      }
    }
    else {
      title = getTitle( title, fm, width-10);
      Rectangle2D rect = fm.getStringBounds( title, g);
      x = (int)( width - rect.getWidth() ) / 2;
      NimRODUtils.paintShadowTitleFat( g, title, x, height-NimRODUtils.MATRIX_FAT, Color.white);
    }
  }

  protected String getTitle( String title, FontMetrics fm, int len) {
    if ( title == null || title.equals( "") ) {
      return "";
    }
    
    int lTit = fm.stringWidth( title);
    if ( lTit <= len ) {
      return title;
    }
    
    int lPuntos = fm.stringWidth( "...");
    if ( len - lPuntos <= 0 ) {
      return "";
    }
    
    int i = 1;
    do {
      String aux = title.substring( 0, i++) + "...";
      lPuntos = fm.stringWidth( aux);
    } while ( lPuntos < len);
    
    return title.substring( 0, i-1) + "...";
  }

  public Dimension getPreferredSize( JComponent c) {
    return getMinimumSize( c);
  }

  public Dimension getMaximumSize( JComponent c) {
    return getMinimumSize( c);
  }
  
  public Dimension getMinimumSize( JComponent c) {
    return new Dimension( width, height);
  }

  //******************************+
  private class HackML extends MouseInputAdapter {
    public void mouseReleased( MouseEvent ev) {
      dodo( ev);
    }
    
    public void mousePressed( MouseEvent ev) {
      dodo( ev);
    }
    
    public void mouseExited( MouseEvent ev) {
      hasFocus = false;
      dodo( ev);
    }
    
    public void mouseEntered( MouseEvent ev) {
      hasFocus = true;
      dodo( ev);
    }
    
    public void mouseDragged( MouseEvent ev) {
      dodo( ev);
    }
    
    void dodo( MouseEvent ev) {
      if ( desktopIcon != null ) { 
        desktopIcon.getDesktopPane().updateUI();
      }
    }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩日日摸| 91在线观看成人| 亚洲综合色网站| 自拍偷在线精品自拍偷无码专区 | 九九视频精品免费| 蜜桃91丨九色丨蝌蚪91桃色| 日韩不卡在线观看日韩不卡视频| 亚洲国产美女搞黄色| 亚洲欧美一区二区久久| 亚洲欧美日韩成人高清在线一区| 亚洲免费看黄网站| 亚洲自拍欧美精品| 日本在线观看不卡视频| 蜜桃视频在线观看一区| 国产一区二区三区电影在线观看 | 国产精品人成在线观看免费| 国产精品久久久久9999吃药| 亚洲素人一区二区| 性欧美大战久久久久久久久| 人人超碰91尤物精品国产| 精品在线观看视频| 成人91在线观看| 欧美日本在线看| 久久婷婷综合激情| 亚洲激情图片一区| 蜜臀久久久99精品久久久久久| 精品一区二区三区免费播放| jlzzjlzz国产精品久久| 成人av在线看| 欧美性高清videossexo| 久久综合色之久久综合| 亚洲精选一二三| 精品一区二区三区免费播放| 97aⅴ精品视频一二三区| 欧美日韩国产首页在线观看| 久久亚洲精品小早川怜子| 亚洲欧美一区二区久久| 蜜臀av在线播放一区二区三区| 国产·精品毛片| 欧美日韩精品专区| 国产精品视频你懂的| 午夜精品免费在线观看| 国产福利91精品一区二区三区| 欧美在线观看视频一区二区三区 | 美日韩黄色大片| 99re6这里只有精品视频在线观看| 欧美日本在线播放| 国产精品久久午夜| 精品在线观看视频| 欧美久久高跟鞋激| 亚洲精品视频在线| 成人黄色av网站在线| 欧美va亚洲va在线观看蝴蝶网| 一区二区三区成人在线视频| 国产一区亚洲一区| 日韩欧美中文字幕精品| 一区二区不卡在线视频 午夜欧美不卡在| 久草在线在线精品观看| 欧美日韩一区二区三区视频| 亚洲青青青在线视频| 国产成人免费视频一区| 日韩女优av电影| 日韩**一区毛片| 欧美性欧美巨大黑白大战| 亚洲欧美日韩中文字幕一区二区三区| 国产精品911| 国产亚洲欧美中文| 国内精品伊人久久久久av影院| 欧美妇女性影城| 亚洲国产裸拍裸体视频在线观看乱了| 色网综合在线观看| 伊人婷婷欧美激情| 欧洲亚洲国产日韩| 亚洲欧美视频在线观看视频| 成人久久18免费网站麻豆| 国产天堂亚洲国产碰碰| 国产成a人无v码亚洲福利| 久久一区二区三区四区| 精品一区二区三区视频| 久久亚洲综合色| 国产精品羞羞答答xxdd| 国产欧美日韩另类一区| 成人ar影院免费观看视频| 国产精品免费看片| 色综合久久综合| 亚洲午夜久久久久中文字幕久| 欧美偷拍一区二区| 久久99精品国产.久久久久久| 777xxx欧美| 国产精品综合二区| 亚洲国产电影在线观看| 不卡一区二区中文字幕| 亚洲综合色视频| 欧美一级理论片| 丰满少妇久久久久久久| 亚洲激情自拍视频| 欧美一三区三区四区免费在线看| 麻豆传媒一区二区三区| 国产亚洲成aⅴ人片在线观看| 成人福利电影精品一区二区在线观看| 亚洲日本护士毛茸茸| 欧美在线啊v一区| 久久国产尿小便嘘嘘尿| 最新国产精品久久精品| 欧美日韩国产一区| 国产高清久久久久| 亚洲午夜精品网| 久久久美女艺术照精彩视频福利播放| 成人av网站免费| 日韩二区三区四区| 综合网在线视频| 精品福利在线导航| 日本久久电影网| 国产乱色国产精品免费视频| 亚洲美女屁股眼交| 久久九九全国免费| 欧美精品v日韩精品v韩国精品v| 国产精品66部| 免费成人在线播放| 日韩一区有码在线| 精品91自产拍在线观看一区| 欧日韩精品视频| 国产成人免费在线观看不卡| 日一区二区三区| 亚洲欧美乱综合| 中文字幕精品一区| 精品久久久久久无| 欧美日韩一区二区三区高清 | 欧美日韩黄色一区二区| 成人黄色一级视频| 国产一区视频网站| 久久精品噜噜噜成人av农村| 亚洲视频中文字幕| 国产精品色哟哟网站| www精品美女久久久tv| 宅男在线国产精品| 在线看一区二区| 91香蕉视频污在线| 成人免费av资源| 国产福利不卡视频| 国产福利91精品一区二区三区| 老色鬼精品视频在线观看播放| 亚洲地区一二三色| 亚洲国产精品一区二区www在线| 国产精品激情偷乱一区二区∴| 久久蜜桃香蕉精品一区二区三区| 日韩一区二区免费电影| 7799精品视频| 欧美一区二区三区在线观看| 欧美三片在线视频观看 | 欧美在线播放高清精品| 一本大道久久a久久精二百| 成人精品在线视频观看| 成人一区二区三区中文字幕| 国产suv精品一区二区883| 国产成人精品一区二区三区网站观看| 激情综合网最新| 国产成人自拍高清视频在线免费播放| 久久99国产乱子伦精品免费| 久久国产精品一区二区| 国产麻豆一精品一av一免费| 国产一区二区影院| 国产精品888| 91视频一区二区三区| 91成人免费在线视频| 欧美日韩一区二区三区四区五区| 在线播放中文一区| 精品久久久久久久久久久久久久久久久 | 国产精品美女久久久久aⅴ| 亚洲国产精品精华液2区45| 国产精品第五页| 亚洲高清免费观看| 久久精品av麻豆的观看方式| 粉嫩一区二区三区在线看| 91久久久免费一区二区| 91麻豆精品国产91久久久| 欧美精品一区二区三区蜜桃| 国产精品欧美一级免费| 亚洲已满18点击进入久久| 久久精品二区亚洲w码| 成人网男人的天堂| 欧美日韩情趣电影| 久久美女艺术照精彩视频福利播放| 国产精品久久久久婷婷二区次| 亚洲主播在线观看| 久久er精品视频| 91老师片黄在线观看| 欧美一区二区三区免费观看视频| 久久综合九色欧美综合狠狠| ㊣最新国产の精品bt伙计久久| 亚洲成人手机在线| 成人国产精品免费观看视频| 欧美精品国产精品| 国产亚洲va综合人人澡精品| 亚洲国产日韩a在线播放性色| 激情欧美日韩一区二区| 欧美日韩国产乱码电影| 国产欧美日韩精品一区| 奇米影视一区二区三区| 97成人超碰视|