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

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

?? awtconverters.java

?? java swing控件
?? JAVA
字號:
/**
 * L2FProd.com Common Components 6.9.1 License.
 *
 * Copyright 2005-2006 L2FProd.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.l2fprod.common.util.converter;

import java.awt.Dimension;
import java.awt.Font;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.util.StringTokenizer;

import javax.swing.plaf.DimensionUIResource;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.InsetsUIResource;

/**
 * AWTConverters. <br>Converter commonly used AWT classes like Point,
 * Dimension, Rectangle, Insets to/from Strings and between each others when
 * possible.
 * 
 * The following convertions are supported:
 * 
 * <table>
 * <tr>
 * <th>From</th>
 * <th>To</th>
 * <th>Reverse</th>
 * </tr>
 * <tr>
 * <td>Dimension</td>
 * <td>String</td>
 * <td>yes</td>
 * </tr>
 * <tr>
 * <td>Font</td>
 * <td>String</td>
 * <td>no</td>
 * </tr>
 * <tr>
 * <td>Insets</td>
 * <td>String</td>
 * <td>yes</td>
 * </tr>
 * <tr>
 * <td>Point</td>
 * <td>String</td>
 * <td>yes</td>
 * </tr>
 * <tr>
 * <td>Rectangle</td>
 * <td>String</td>
 * <td>yes</td>
 * </tr>
 * </table>
 */
public class AWTConverters implements Converter {

  public AWTConverters() {
    super();
  }

  public void register(ConverterRegistry registry) {
    registry.addConverter(Dimension.class, String.class, this);
    registry.addConverter(String.class, Dimension.class, this);
    registry.addConverter(DimensionUIResource.class, String.class, this);

    registry.addConverter(Insets.class, String.class, this);
    registry.addConverter(String.class, Insets.class, this);
    registry.addConverter(InsetsUIResource.class, String.class, this);

    registry.addConverter(Point.class, String.class, this);
    registry.addConverter(String.class, Point.class, this);
    
    registry.addConverter(Rectangle.class, String.class, this);
    registry.addConverter(String.class, Rectangle.class, this);
    
    registry.addConverter(Font.class, String.class, this);
    registry.addConverter(FontUIResource.class, String.class, this);
  }

  public Object convert(Class type, Object value) {
    if (String.class.equals(type)) {
      if (value instanceof Rectangle) {
        return ((Rectangle)value).getX()
          + " "
          + ((Rectangle)value).getY()
          + " "
          + ((Rectangle)value).getWidth()
          + " "
          + ((Rectangle)value).getHeight();
      } else if (value instanceof Insets) {
        return ((Insets)value).top
          + " "
          + ((Insets)value).left
          + " "
          + ((Insets)value).bottom
          + " "
          + ((Insets)value).right;
      } else if (value instanceof Dimension) {
        return ((Dimension)value).getWidth()
          + " x "
          + ((Dimension)value).getHeight();
      } else if (Point.class.equals(value.getClass())) {
        return ((Point)value).getX() + " " + ((Point)value).getY();
      } else if (value instanceof Font) {
        return ((Font)value).getFontName()
          + ", "
          + ((Font)value).getStyle()
          + ", "
          + ((Font)value).getSize();
      }
    }

    if (value instanceof String) {
      if (Rectangle.class.equals(type)) {
        double[] values = convert((String)value, 4, " ");
        if (values == null) {
          throw new IllegalArgumentException("Invalid format");
        }
        Rectangle rect = new Rectangle();
        rect.setFrame(values[0], values[1], values[2], values[3]);
        return rect;
      } else if (Insets.class.equals(type)) {
        double[] values = convert((String)value, 4, " ");
        if (values == null) {
          throw new IllegalArgumentException("Invalid format");
        }
        return new Insets(
          (int)values[0],
          (int)values[1],
          (int)values[2],
          (int)values[3]);
      } else if (Dimension.class.equals(type)) {
        double[] values = convert((String)value, 2, "x");
        if (values == null) {
          throw new IllegalArgumentException("Invalid format");
        }
        Dimension dim = new Dimension();
        dim.setSize(values[0], values[1]);
        return dim;
      } else if (Point.class.equals(type)) {
        double[] values = convert((String)value, 2, " ");
        if (values == null) {
          throw new IllegalArgumentException("Invalid format");
        }
        Point p = new Point();
        p.setLocation(values[0], values[1]);
        return p;
      }
    }
    return null;
  }

  private double[] convert(String text, int tokenCount, String delimiters) {
    StringTokenizer tokenizer = new StringTokenizer(text, delimiters);
    if (tokenizer.countTokens() != tokenCount) {
      return null;
    }

    try {
      double[] values = new double[tokenCount];
      for (int i = 0; tokenizer.hasMoreTokens(); i++) {
        values[i] = Double.parseDouble(tokenizer.nextToken());
      }
      return values;
    } catch (Exception e) {
      return null;
    }
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女人小视频在线观看| 懂色一区二区三区免费观看| 国产传媒日韩欧美成人| 99久久精品国产一区二区三区| 亚洲手机成人高清视频| 国产精品乡下勾搭老头1| 日韩三级电影网址| 麻豆精品一区二区三区| 欧美一卡二卡在线观看| 韩国v欧美v日本v亚洲v| 中文字幕欧美国产| 一本大道久久精品懂色aⅴ| 亚洲一区二区三区美女| 日韩一区二区精品在线观看| 韩国一区二区在线观看| 欧美国产成人在线| 欧美亚洲国产一区在线观看网站| 日韩电影一区二区三区四区| 欧美一级免费大片| 成人va在线观看| 亚瑟在线精品视频| 久久久www成人免费无遮挡大片| 一本色道久久综合亚洲aⅴ蜜桃 | 精品一区二区在线播放| 国产精品美女久久久久aⅴ| 欧美日韩一区二区在线观看| 九九精品一区二区| 亚洲欧洲成人精品av97| 91精品国产综合久久久久久 | av男人天堂一区| 三级久久三级久久| 国产亚洲人成网站| 欧美撒尿777hd撒尿| 国产大陆亚洲精品国产| 爽好多水快深点欧美视频| 国产精品久久久久一区二区三区共| 欧美亚洲高清一区| 国产精品一区一区| 午夜视频在线观看一区二区| 国产亚洲精品7777| 欧美一区二区三区思思人| 一本大道久久精品懂色aⅴ| 精品在线视频一区| 亚洲一区二区欧美日韩| 国产亚洲欧美日韩俺去了| 7777精品伊人久久久大香线蕉完整版 | 大白屁股一区二区视频| 一区二区三区免费网站| 国产欧美精品区一区二区三区| 欧美三级欧美一级| 一本大道av一区二区在线播放| 国产一区二区中文字幕| 日本欧美一区二区| 中文字幕中文字幕一区| 91麻豆精品国产无毒不卡在线观看| 午夜精品一区二区三区电影天堂 | 91亚洲精品久久久蜜桃| 日本va欧美va精品发布| 亚洲欧美aⅴ...| 欧美激情在线一区二区三区| 欧美福利视频导航| 97成人超碰视| a在线欧美一区| 成人永久免费视频| 国产精品综合一区二区三区| 男人的天堂亚洲一区| 亚洲国产乱码最新视频| 亚洲精品菠萝久久久久久久| 国产精品二三区| 欧美国产1区2区| 中文字幕va一区二区三区| 精品国产sm最大网站免费看| 成人av电影在线| 久久精品国产精品青草| 日本一区二区成人| 丁香激情综合五月| 国产一区二区免费在线| 国产自产2019最新不卡| 精品亚洲成a人在线观看| 麻豆视频一区二区| 老司机午夜精品| 激情小说欧美图片| 国产精品一区二区久久精品爱涩| 国产一区视频导航| 国产成人夜色高潮福利影视| 成人午夜电影久久影院| 国产成a人亚洲精| 成人精品电影在线观看| 成人av资源在线| 99re这里只有精品首页| 色菇凉天天综合网| 欧美高清dvd| 26uuuu精品一区二区| 亚洲精品在线免费播放| 国产精品色一区二区三区| 亚洲欧美色一区| 日韩精品电影在线| 韩国视频一区二区| 色香蕉久久蜜桃| 91麻豆精品国产综合久久久久久| 欧美成人a在线| 国产精品美女久久久久久久久 | 国产精品久久久久婷婷| 亚洲最快最全在线视频| 秋霞电影网一区二区| 国产精品一区免费在线观看| 91精品福利在线| 日韩久久久久久| 综合在线观看色| 日韩国产一区二| 国产经典欧美精品| 日本久久电影网| 日韩午夜小视频| 综合色天天鬼久久鬼色| 婷婷六月综合网| 成人午夜视频网站| 日韩无一区二区| 亚洲精品视频观看| 麻豆精品国产传媒mv男同| 91亚洲国产成人精品一区二区三 | 国产一区二区网址| 一道本成人在线| 555夜色666亚洲国产免| 中日韩免费视频中文字幕| 国产精品久久夜| 国产亚洲成年网址在线观看| 亚洲一卡二卡三卡四卡| 久久av资源站| 日本道免费精品一区二区三区| 欧美一区二区三区白人| 亚洲欧美一区二区三区极速播放| 美国av一区二区| 日本高清不卡在线观看| 国产日韩欧美综合在线| 午夜视频一区二区| 91网页版在线| 久久精品人人做人人爽97| 奇米亚洲午夜久久精品| 91在线免费看| 国产日韩亚洲欧美综合| 裸体在线国模精品偷拍| 欧美日韩精品一区二区在线播放| 国产精品网站在线播放| 极品少妇一区二区| 欧美一级久久久久久久大片| 亚洲一二三专区| 99re在线视频这里只有精品| 中文幕一区二区三区久久蜜桃| 另类成人小视频在线| 91麻豆精品国产无毒不卡在线观看| 精品中文av资源站在线观看| 在线成人高清不卡| 久草精品在线观看| 欧美视频精品在线| 亚洲欧美另类在线| 成人avav在线| 国产精品电影一区二区三区| 国产精品88av| 国产亚洲综合在线| 国产精品一二二区| 久久久久高清精品| 国产成人免费网站| 中文在线资源观看网站视频免费不卡| 精久久久久久久久久久| 欧美mv日韩mv| 精品一区免费av| 久久综合九色综合97婷婷女人| 蜜桃精品视频在线观看| 日韩丝袜美女视频| 免费成人在线网站| 精品久久一区二区| 国产综合色视频| 欧美国产精品劲爆| 91香蕉视频在线| 亚洲成人一区二区| 日韩午夜在线观看| 国产一区久久久| 国产精品久久久久久久蜜臀| www.综合网.com| 一区二区三区国产豹纹内裤在线| 欧美色男人天堂| 蜜臀精品一区二区三区在线观看| 精品久久人人做人人爽| 国产激情视频一区二区三区欧美| 中文字幕不卡在线观看| 91麻豆成人久久精品二区三区| 一级做a爱片久久| 欧美一区二区大片| 国产suv精品一区二区6| 亚洲精品伦理在线| 91精品午夜视频| 国产精品18久久久久久久久| 国产精品丝袜在线| 欧美性一级生活| 麻豆久久久久久| 中文字幕中文字幕一区二区| 欧美在线免费观看亚洲| 蜜臀av性久久久久蜜臀aⅴ| 国产日韩欧美一区二区三区乱码| 色偷偷久久一区二区三区|