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

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

?? easyjshop.java

?? 一個用Java 造成的小畫家
?? JAVA
字號:
package onlyfun.caterpillar.app.EasyJShop;

import onlyfun.caterpillar.app.EasyJShop.main.AbstractChild;
import onlyfun.caterpillar.app.EasyJShop.main.CanvasComponent;
import onlyfun.caterpillar.app.EasyJShop.menu.AboutMenu;
import onlyfun.caterpillar.app.EasyJShop.menu.EditMenu;
import onlyfun.caterpillar.app.EasyJShop.menu.ImageMenu;
import onlyfun.caterpillar.image.ImageMementoManager;

import java.awt.*;
import java.awt.event.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;

import javax.swing.*;
import javax.swing.event.InternalFrameListener;

public class EasyJShop extends JFrame {
    private ImageIcon appIcon;
    
    private JMenuBar menuBar;
    
    private JDesktopPane desktopPane;
    
    private List windowListeners;
    private List internalFrameListeners, canvasMouseListeners, canvasMouseMotionListeners;
    private Map mementoManagers;
    
    public EasyJShop() {
        super("Easy J Shop");
        
        initResource();
        setUpUIComponent();
        setUpEventListener();
        
        setVisible(true);    
    }
    
    private void initResource() {
        appIcon = new ImageIcon(EasyJShop.class.getResource("images/appIcon.gif"));
        windowListeners = new ArrayList();
        internalFrameListeners = new ArrayList();
        canvasMouseListeners = new ArrayList();
        canvasMouseMotionListeners = new ArrayList();
        mementoManagers = new HashMap();
    }
    
    private void setUpUIComponent() {
        setIconImage(appIcon.getImage());
        setSize((int) getToolkit().getScreenSize().getWidth(), (int) getToolkit().getScreenSize().getHeight() - 20);
        
        menuBar = new JMenuBar();
        
        addChild(new ImageMenu(), null);
        addChild(new EditMenu(), BorderLayout.NORTH);
        addChild(new AboutMenu(), null);
        
        setJMenuBar(menuBar);
                
        desktopPane = new JDesktopPane();
        getContentPane().add(desktopPane);
    }
    
    private void addChild(AbstractChild menu, String toolBarLayout) {
        menu.setParent(this);
        
        if(menu.getMenu() != null)
            menuBar.add(menu.getMenu());
        
        if(menu.getToolBar() != null)
            getContentPane().add(menu.getToolBar(), toolBarLayout);
        
        if(menu.getWindowListener() != null)
            windowListeners.add(menu.getWindowListener());
        
        if(menu.getInternalFrameListener() != null)
            internalFrameListeners.add(menu.getInternalFrameListener());
        
        if(menu.getCanvasMouseListener() != null)
            canvasMouseListeners.add(menu.getCanvasMouseListener());
        
        if(menu.getCanvasMouseMotionListener() != null)
            canvasMouseMotionListeners.add(menu.getCanvasMouseMotionListener());
    }
    
    private void setUpEventListener() {
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        
        Iterator iterator = windowListeners.iterator();
        while(iterator.hasNext()) {
            addWindowListener((WindowListener) iterator.next());
        }
    }
    
    public JDesktopPane getDesktopPane() {
        return desktopPane;
    }
    
    // create an JInternalFrame and set image into it by
    // using JLabel and ImageIcon
    public JInternalFrame createImageInternalFrame(String title, Image image) {
        JInternalFrame internalFrame = new JInternalFrame(title, true, true, true, true);
        internalFrame.setFrameIcon(appIcon);
        internalFrame.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
        
        Iterator iterator = internalFrameListeners.iterator();
        while(iterator.hasNext()) {
            internalFrame.addInternalFrameListener((InternalFrameListener) iterator.next());
        }
        
        CanvasComponent canvas = new CanvasComponent(image);
        
        iterator = canvasMouseListeners.iterator();
        while(iterator.hasNext()) {
            canvas.addMouseListener((MouseListener) iterator.next());
        }
        
        iterator = canvasMouseMotionListeners.iterator();
        while(iterator.hasNext()) {
            canvas.addMouseMotionListener((MouseMotionListener) iterator.next());
        }
        
        mementoManagers.put(canvas, new ImageMementoManager());
        
        JPanel panel = new JPanel();
        canvas.setAlignmentY(Component.CENTER_ALIGNMENT);
        panel.add(canvas);
        
        JScrollPane scrollPanel = new JScrollPane(panel,
                ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
        
        internalFrame.getContentPane().add(scrollPanel);
        
        return internalFrame;
    }
    
    public CanvasComponent getCanvasOfInternalFrame(JInternalFrame internalFrame) {
        JScrollPane scrollPanel = (JScrollPane) internalFrame.getContentPane().getComponent(0);
        return (CanvasComponent) ((JPanel) scrollPanel.getViewport().getComponent(0)).getComponent(0);
    }
    
    public void setStarBeforeTitle() {
        String title = desktopPane.getSelectedFrame().getTitle();
        if(!title.startsWith("*"))
            desktopPane.getSelectedFrame().setTitle("*" + title);
    }
    
    public ImageMementoManager getMementoManager(CanvasComponent canvas) {
        return (ImageMementoManager) mementoManagers.get(canvas);
    }
    
    public Map getMementoManagers() {
        return mementoManagers;
    }
    
    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage(),
                    "Info.", JOptionPane.INFORMATION_MESSAGE);
        }
        
        new EasyJShop();
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一级二级三级| 亚洲综合色网站| 亚洲成精国产精品女| 国产福利一区二区三区视频在线| 欧美怡红院视频| 中文字幕av在线一区二区三区| 日韩成人免费电影| 91色porny蝌蚪| 国产精品久久三区| 国产在线精品免费av| 欧美嫩在线观看| 亚洲女人小视频在线观看| 国产另类ts人妖一区二区| 91精品国产综合久久精品图片 | 久久精品免费在线观看| 日韩精品91亚洲二区在线观看| 97国产精品videossex| 欧美激情中文不卡| 国产黄人亚洲片| 日韩你懂的电影在线观看| 午夜亚洲国产au精品一区二区| 成人激情小说乱人伦| 国产欧美中文在线| 国产一区二区成人久久免费影院| 日韩视频免费观看高清完整版在线观看 | 亚洲免费av在线| 成人免费看片app下载| 久久亚洲精品小早川怜子| 精品写真视频在线观看| 欧美大片在线观看| 久久99久久久久| 欧美电影免费观看高清完整版在| 日韩综合在线视频| 制服丝袜中文字幕亚洲| 亚洲一区二区美女| 欧美性受xxxx| 日韩精品一级二级 | 国产美女娇喘av呻吟久久| 国产精品欧美综合在线| 精品日本一线二线三线不卡| 日韩一区二区影院| 91麻豆精品国产综合久久久久久| 成人在线视频一区| 狠狠色丁香久久婷婷综合_中| 亚洲自拍偷拍网站| 丝袜国产日韩另类美女| 奇米影视一区二区三区| 日韩成人免费看| 蜜臀91精品一区二区三区 | 欧美一卡二卡在线观看| 国产一区二三区好的| 99国产精品视频免费观看| 久久99精品一区二区三区三区| 亚洲精品国产高清久久伦理二区| 中日韩免费视频中文字幕| 亚洲欧美另类综合偷拍| 成人avav影音| 一区二区三区小说| 久久国产夜色精品鲁鲁99| 99久久久国产精品免费蜜臀| 夜夜嗨av一区二区三区四季av| 欧美日韩国产123区| 麻豆91精品视频| 国产精品成人在线观看| 欧美久久久久中文字幕| 夫妻av一区二区| 亚洲电影你懂得| 国产成人av电影在线| 欧美日韩欧美一区二区| 精品久久人人做人人爰| 国产精品久久久久影院色老大| 精品一区二区三区久久| 国产精品一区二区三区99| 色中色一区二区| 国产精品久久久久久久蜜臀| 天天综合天天综合色| 欧美体内she精高潮| 成人av网站在线| 国产精品夜夜嗨| 日韩国产精品久久久| 国产精品网站一区| 欧美一区二区三区小说| www.66久久| 久热成人在线视频| 一区二区三区加勒比av| 欧美国产禁国产网站cc| 91精品国产91久久久久久一区二区| 国产成人自拍高清视频在线免费播放| 亚洲一区二区三区视频在线 | 国产在线乱码一区二区三区| 《视频一区视频二区| 精品美女在线播放| 欧美喷潮久久久xxxxx| 99麻豆久久久国产精品免费优播| 麻豆成人91精品二区三区| 一区二区国产视频| 国产精品福利一区二区| 国产无一区二区| 2014亚洲片线观看视频免费| 久久久精品国产免大香伊| 欧美熟乱第一页| 91日韩在线专区| www.av精品| www.亚洲激情.com| 成人免费毛片高清视频| 国产一区二区三区免费观看| 蜜臀av性久久久久蜜臀aⅴ| 日韩高清在线电影| 午夜精品久久久| 日韩精品国产精品| 日本成人在线电影网| 日韩高清不卡一区二区| 日韩在线a电影| 成人小视频在线| 国产乱理伦片在线观看夜一区| 日本在线不卡视频一二三区| 午夜精品国产更新| 天天综合天天综合色| 男女性色大片免费观看一区二区 | 国产精品久久久久久久久动漫 | 欧美日本精品一区二区三区| 精品亚洲国产成人av制服丝袜| 亚洲欧美日韩国产综合| 337p粉嫩大胆噜噜噜噜噜91av| 欧美日韩国产美女| 成人高清免费在线播放| 国产精品影音先锋| 日本不卡免费在线视频| 一区二区三区日韩精品视频| 久久久蜜桃精品| 欧美精品日韩一本| 成人app软件下载大全免费| 蜜桃一区二区三区四区| 蜜臀精品久久久久久蜜臀| 性感美女极品91精品| 亚洲成人动漫在线免费观看| 中文字幕精品三区| 日韩激情一二三区| 亚欧色一区w666天堂| 色综合夜色一区| 欧美一区二区免费观在线| 91精品国产一区二区| voyeur盗摄精品| 91丝袜美腿高跟国产极品老师| www.99精品| 国产清纯白嫩初高生在线观看91| 国产毛片精品国产一区二区三区| 国产精品福利一区| 91国产精品成人| 欧美日韩一级大片网址| 精品捆绑美女sm三区| 国产精品对白交换视频| 日韩电影在线免费观看| 成人一区在线观看| 欧美美女黄视频| 中文字幕免费不卡| 日韩经典一区二区| 成人开心网精品视频| 欧美高清性hdvideosex| 国产精品美女久久久久久久久久久| 亚洲一卡二卡三卡四卡无卡久久| 狠狠色丁香婷综合久久| 欧美日本一区二区在线观看| 亚洲人成网站在线| 青青草国产精品亚洲专区无| 91视频.com| 久久综合色8888| 日本亚洲电影天堂| 色婷婷综合久久久久中文 | 亚洲人成网站影音先锋播放| 日本中文字幕一区二区视频| 91丝袜高跟美女视频| 国产日韩精品一区| 麻豆精品视频在线观看视频| 欧美在线短视频| 国产精品区一区二区三区| 国产又粗又猛又爽又黄91精品| 欧美视频中文一区二区三区在线观看| 欧美经典一区二区三区| 久88久久88久久久| 9191久久久久久久久久久| 亚洲精品中文在线影院| 91色视频在线| 综合分类小说区另类春色亚洲小说欧美 | 黄页视频在线91| 在线播放欧美女士性生活| 尤物av一区二区| 99久久99久久精品国产片果冻| 日本一区二区三区dvd视频在线| 激情久久五月天| 欧美大片在线观看一区| 久久超级碰视频| 欧美www视频| 激情综合网最新| 精品久久一区二区| 国产精品伊人色| 欧美激情一区二区三区四区| 国产精品一区二区黑丝| 国产无一区二区| 成人小视频在线|