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

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

?? imagepreview.java

?? cms是開源的框架
?? JAVA
字號:
/*
 * File   : $Source: /usr/local/cvs/opencms/src-components/org/opencms/applet/upload/ImagePreview.java,v $
 * Date   : $Date: 2006/03/27 14:52:27 $
 * Version: $Revision: 1.11 $
 *
 * This library is part of OpenCms -
 * the Open Source Content Mananagement System
 *
 * Copyright (c) 2005 Alkacon Software GmbH (http://www.alkacon.com)
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * For further information about Alkacon Software GmbH, please see the
 * company website: http://www.alkacon.com
 *
 * For further information about OpenCms, please see the
 * project website: http://www.opencms.org
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

package org.opencms.applet.upload;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JFileChooser;

/**
 * Image preview for the file select box.<p>
 * 
 * Based on the Java 1.4 example.<p>
 * 
 * @author Michael Emmerich 
 * 
 * @version $Revision: 1.11 $ 
 * 
 * @since 6.0.0 
 */
public class ImagePreview extends JComponent implements PropertyChangeListener {

    /** Serial version UID required for safe serialization. */
    private static final long serialVersionUID = 4851280416316056303L;
    
    private static final int C_MODE_EMPTY = 0;
    private static final int C_MODE_IMAGE = 1;
    private static final int C_MODE_TEXT = 2;

    private File m_file;
    private Font m_font;
    private String m_messageNoPreview;
    private int m_mode;
    private String[] m_text;
    private ImageIcon m_thumbnail;

    /**
     * Constructor, creates a new ImagePreview.<p>
     *
     * @param fc The fileselector box
     * @param messageNoPreview localized message for no preview
     */
    public ImagePreview(JFileChooser fc, String messageNoPreview) {

        setPreferredSize(new Dimension(200, 100));
        fc.addPropertyChangeListener(this);
        m_font = new java.awt.Font(null, Font.PLAIN, 9);
        m_messageNoPreview = messageNoPreview;
        m_mode = C_MODE_EMPTY;
    }

    /**
     * Loads the image for the preview.<p>
     */
    public void loadImage() {

        if (m_file == null) {
            m_thumbnail = null;
            return;
        }
        // load the image
        ImageIcon tmpIcon = new ImageIcon(m_file.getPath());
        if (tmpIcon != null) {
            if (tmpIcon.getIconWidth() > 190) {
                //  scale it to the maximum width of 190 pixel if newscessary 
                m_thumbnail = new ImageIcon(tmpIcon.getImage().getScaledInstance(190, -1, Image.SCALE_DEFAULT));
            } else { //no need to miniaturize
                m_thumbnail = tmpIcon;
            }
        }
    }

    /**
     * @see javax.swing.JComponent#paintComponent(java.awt.Graphics)
     */
    public void paintComponent(Graphics g) {

        if (m_mode == C_MODE_IMAGE) {
            // if we are in image mode, draw the image
            if (m_thumbnail == null) {
                loadImage();
            }
            if (m_thumbnail != null) {
                int x = getWidth() / 2 - m_thumbnail.getIconWidth() / 2;
                int y = getHeight() / 2 - m_thumbnail.getIconHeight() / 2;

                if (y < 0) {
                    y = 0;
                }

                if (x < 5) {
                    x = 5;
                }
                m_thumbnail.paintIcon(this, g, x, y);
            }
        } else if (m_mode == C_MODE_TEXT) {
            // if we are in text mode, draw the text preview          
            g.setColor(Color.white);
            g.fillRect(10, 0, getWidth() - 1, getHeight() - 1);
            g.setColor(Color.black);
            g.drawRect(10, 0, getWidth() - 11, getHeight() - 1);
            g.setFont(m_font);
            for (int i = 0; i < 35; i++) {
                if (m_text[i] != null) {
                    g.drawString(m_text[i], 13, (i + 1) * 11);
                }
            }
        } else {
            g.setColor(Color.black);
            g.setFont(m_font);
            g.drawString(m_messageNoPreview, 30, getHeight() / 2);
        }
    }

    /**
     * Exchange the image if a new file is selected in the fileselector box.<p>
     * 
     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
     */
    public void propertyChange(PropertyChangeEvent e) {

        boolean update = false;
        String prop = e.getPropertyName();

        if (JFileChooser.DIRECTORY_CHANGED_PROPERTY.equals(prop)) {
            // if the directory changed, don't show an image
            m_file = null;
            m_text = null;
            update = true;
            m_mode = C_MODE_EMPTY;

        } else if (JFileChooser.SELECTED_FILE_CHANGED_PROPERTY.equals(prop)) {
            // if a file was selected, find out which one
            m_file = (File)e.getNewValue();
            m_mode = getMode();
            update = true;
        }

        // update the preview accordingly
        if (update) {
            m_thumbnail = null;
            if (isShowing()) {
                if (m_mode == (C_MODE_IMAGE)) {
                    loadImage();
                    repaint();
                } else if (m_mode == (C_MODE_TEXT)) {
                    loadText();
                    repaint();
                } else {
                    repaint();
                }
            }
        }
    }

    /**
     * Gets the preview draw mode, depending on the file extension.<p>
     * 
     * @return preview draw mode
     */
    private int getMode() {

        int mode = C_MODE_EMPTY;
        String extension = FileUploadUtils.getExtension(m_file);
        if (extension != null) {
            if ((extension.equals(".gif"))
                || (extension.equals(".jpg"))
                || (extension.equals(".jpeg"))
                || (extension.equals(".png"))) {
                mode = C_MODE_IMAGE;
            } else if ((extension.equals(".txt"))
                || (extension.equals(".ini"))
                || (extension.equals(".bat"))
                || (extension.equals(".java") || (extension.equals(".sys")))) {
                mode = C_MODE_TEXT;
            }
        }
        return mode;
    }

    /**
     * Reads the first 10 lines of e text file.<p>
     */
    private void loadText() {

        m_text = new String[35];
        BufferedReader fileStream = null;
        try {
            fileStream = new BufferedReader(new FileReader(m_file));
            for (int i = 0; i < 35; i++) {
                m_text[i] = fileStream.readLine();
            }
        } catch (Exception e) {
            // ignore
        } finally {
            try {
                if (fileStream != null) {
                    fileStream.close();
                }
            } catch (IOException e) {
                // ignore
            }
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区国语对白| 日本欧美在线看| 久久精品夜色噜噜亚洲a∨| 日韩免费性生活视频播放| 欧美亚洲图片小说| 欧美丝袜丝交足nylons| 欧美精品久久天天躁| 欧美欧美午夜aⅴ在线观看| 欧美精品在线视频| 7777精品伊人久久久大香线蕉超级流畅 | 国产欧美日韩另类一区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美成人乱码一区二区三区| 日韩一区和二区| 久久久www免费人成精品| 国产欧美日韩另类视频免费观看| 国产精品久久久久影院| 一区二区三区欧美| 日韩精品电影在线观看| 欧美调教femdomvk| 日韩国产在线一| 日韩av一区二区三区| 久久精品国产亚洲高清剧情介绍| 蜜臀精品一区二区三区在线观看| 久久99精品视频| 91片在线免费观看| 91精品欧美福利在线观看| 久久亚洲春色中文字幕久久久| 国产精品久久久久影院老司| 亚洲第一主播视频| 国产成人午夜99999| 在线精品国精品国产尤物884a| 欧美一区二区不卡视频| 国产精品少妇自拍| 亚洲gay无套男同| 成人毛片视频在线观看| 欧美日韩在线综合| 中文字幕精品三区| 肉丝袜脚交视频一区二区| 国产成人8x视频一区二区 | 丁香一区二区三区| 一区二区三区视频在线观看| 亚洲小说欧美激情另类| 国产乱码精品一品二品| 欧美三级中文字幕| 国产精品国模大尺度视频| 日韩专区在线视频| 99re视频这里只有精品| 久久亚洲精品小早川怜子| 午夜伦欧美伦电影理论片| 99久久精品一区| 久久久欧美精品sm网站 | 欧美一区三区四区| 国产精品福利一区二区| 九九久久精品视频| 91精品国产综合久久久久久漫画| 亚洲视频在线一区二区| 国产高清亚洲一区| 26uuu亚洲综合色| 美女网站色91| 欧美一区二区啪啪| 亚洲伊人伊色伊影伊综合网| 欧美日韩国产三级| 亚洲同性gay激情无套| 美女任你摸久久| 欧美日韩一区二区在线视频| 亚洲精品综合在线| 成人免费视频国产在线观看| 久久毛片高清国产| 国产在线精品国自产拍免费| 精品国内二区三区| 久久精品国产网站| 久久综合网色—综合色88| 日韩av网站免费在线| 日韩亚洲欧美成人一区| 免费黄网站欧美| 日韩一区二区影院| 看片网站欧美日韩| 亚洲精品在线免费播放| 久久综合综合久久综合| 日韩免费成人网| 欧美精品1区2区3区| 国产精品白丝在线| 色综合天天综合在线视频| 日韩美女视频19| 欧美日韩一卡二卡| 亚洲成a天堂v人片| 欧美一区二区三区播放老司机| 久久精品国产精品亚洲精品| 欧美精品一区二区在线播放| 国产69精品久久777的优势| 国产精品家庭影院| 欧美人与z0zoxxxx视频| 美日韩黄色大片| 国产精品久久毛片| 欧美色综合天天久久综合精品| 美女爽到高潮91| 国产精品拍天天在线| 欧美午夜不卡视频| 国产综合色产在线精品| 亚洲女同女同女同女同女同69| 欧美日韩在线一区二区| 国产一区欧美一区| 樱桃国产成人精品视频| 精品福利一区二区三区免费视频| 成人午夜碰碰视频| 亚洲一二三四区不卡| 久久综合色之久久综合| 91美女在线观看| 久久99热狠狠色一区二区| 一区精品在线播放| 欧美大片在线观看一区| 91久久精品一区二区| 久久精品国产精品亚洲精品| 一区二区三区丝袜| 国产午夜精品在线观看| 欧美一区日本一区韩国一区| 成人a区在线观看| 美女视频黄 久久| 一区二区三区欧美亚洲| 国产性天天综合网| 欧美一区二区网站| 色婷婷久久久久swag精品| 国产真实乱子伦精品视频| 同产精品九九九| 亚洲精品国产无套在线观| 久久九九久久九九| 欧美一区二区三区人| 欧美午夜精品免费| 91日韩精品一区| 成人影视亚洲图片在线| 蜜乳av一区二区三区| 午夜电影一区二区三区| 亚洲色图在线看| 国产精品久久影院| 日本一区二区三级电影在线观看| 日韩一区二区在线看片| 欧美久久婷婷综合色| 日本高清无吗v一区| 99久久综合色| 丁香婷婷综合色啪| 国产精品一卡二卡| 韩国三级中文字幕hd久久精品| 欧美a级一区二区| 蜜臀av亚洲一区中文字幕| 亚洲mv在线观看| 天堂蜜桃一区二区三区| 视频一区视频二区中文字幕| 五月综合激情婷婷六月色窝| 亚洲一二三级电影| 午夜久久久久久电影| 日本在线不卡视频| 人人狠狠综合久久亚洲| 日本欧美在线看| 久久国产综合精品| 国产精品一区二区无线| 成人看片黄a免费看在线| av午夜一区麻豆| 97超碰欧美中文字幕| 色婷婷亚洲婷婷| 欧美精品在线一区二区| 日韩午夜电影av| 国产午夜精品在线观看| 成人免费视频在线观看| 亚洲综合成人网| 麻豆成人免费电影| 国产成人午夜99999| 一本大道综合伊人精品热热| 欧美日韩久久一区| 日韩精品一区二区三区视频在线观看 | 国产精品一品二品| 成人福利在线看| 在线看一区二区| 日韩久久免费av| 欧美国产激情一区二区三区蜜月| 国产精品的网站| 亚洲观看高清完整版在线观看| 美女视频一区在线观看| 成人伦理片在线| 欧美人体做爰大胆视频| 国产欧美日韩在线看| 亚洲精品免费在线观看| 久久精品国产**网站演员| 成人网页在线观看| 欧美二区在线观看| 国产午夜一区二区三区| 亚洲超碰精品一区二区| 国产精品一区不卡| 欧美色手机在线观看| 久久人人超碰精品| 亚洲成人中文在线| 国产精品1区二区.| 91精品福利在线一区二区三区 | 国产欧美日韩激情| 午夜精品免费在线观看| 成人av在线一区二区三区| 欧美一区二区三区思思人| 综合欧美亚洲日本| 国产一区二区三区美女| 欧美日韩卡一卡二|