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

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

?? monitorpane.java

?? 一個遠程控制的java測試程序源代碼.轉于網上
?? JAVA
字號:
/*
 * @(#)MonitorPane.java 1.00 2005-9-1
 *
 * Copyright 2005 BeanSoft Studio. All rights reserved.
 * PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package studio.beansoft.remotecontrol;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.util.ArrayList;

import javax.swing.JPanel;
import javax.swing.SwingUtilities;

/**
 * MonitorPane, this pane monitor screens from server, paint it, and alse capture
 * mouse and keybord events on this pane, save the event(s) in two event queues
 * for transporting to remote server.
 *
 * Chinese documents:
 * 這個面板監視服務器上的屏幕, 畫出屏幕, 同時在這個面板上的鼠標和鍵盤事件, 保存這些事件到
 * 兩個事件隊列, 用來傳輸到遠程的服務器.
 *
 * @author BeanSoft
 * @version 1.00 2005-9-1
 */
public class MonitorPane extends JPanel {
	/**
	 *
	 * KeyHandler handles keyboard event on this pane, add press and
	 * release event to the key event queue.
	 *
	 * Chinese documents:
	 * 處理這個面板上的鍵盤事件, 添加按下和松開事件到鍵盤事件隊列.
	 *
	 * @author BeanSoft
	 * @version 1.00 2005-9-2
	 */
	class KeyHandler implements java.awt.event.KeyListener {
		public void keyPressed(java.awt.event.KeyEvent e) {
			getKeyEventQueue().add(e);
		}

		public void keyReleased(java.awt.event.KeyEvent e) {
			getKeyEventQueue().add(e);
		}

		public void keyTyped(java.awt.event.KeyEvent e) {
		}
	}

	/**
	 *
	 * MouseHandler handles mouse event on this pane, add press and
	 * release event to the mouse event queue.
	 *
	 * Chinese documents:
	 * 處理這個面板上的鼠標事件, 添加按下和松開事件到鼠標事件隊列.
	 * @author BeanSoft
	 * @version 1.00 2005-9-2
	 */
	class MouseHandler extends java.awt.event.MouseAdapter {
		public void mousePressed(java.awt.event.MouseEvent e) {
			getMouseEventQueue().add(e);
		}

		public void mouseReleased(java.awt.event.MouseEvent e) {
			getMouseEventQueue().add(e);
		}
	}

	/**
	 * Repaint operation implements in a Runnable class, using to repaint in a
	 * swing thread.
	 */
	class RepaintRequester implements Runnable {
		public void run() {
			repaint();
		}
	}

	MediaTracker tracker; // 跟蹤圖象加載

	/** Used to request a repaint in a thread */
	private Runnable repainter = new RepaintRequester();

	/** The image to display */
	private Image image = null;

	/** Mouse events' queue on this pane */
	private ArrayList mouseEventQueue = new ArrayList();

	/** Keyboard events' queue on this pane */
	private ArrayList keyEventQueue = new ArrayList();

	public MonitorPane() {
		initialize();
	}

	public void paintComponent(Graphics g) {

	}

	public void update(Graphics g) {

	}

	public void paint(Graphics g) {
//		if (!tracker.checkAll()) {
//			return;
//		}

		if (image != null && image.getWidth(this) > 0) {
			g.drawImage(image, 0, 0, this);
		}
	}

	/**
	 * This method initializes this pane.
	 *
	 * @return void
	 */
	private void initialize() {
		tracker = new MediaTracker(this);

		this.setSize(800, 600);
		this.setPreferredSize(new java.awt.Dimension(800, 600));
		this.addKeyListener(new KeyHandler());
		this.addMouseListener(new MouseHandler());
		// Enable keyboard events on pane
		this.setFocusable(true);
		this.setDoubleBuffered(false);
		this.setOpaque(false);
	}

	/**
	 * Return the image currently to be displayed.
	 * @return an Image object
	 */
	public Image getImage() {
		return image;
	}

	/**
	 * Set the image to display, and at the same time change the pane's preferred size to image's size.
	 * Chinese documents:
	 * 設置新的圖片來顯示, 同時更改面板的最合適大小.
	 * @param image
	 */
	public void setImage(Image img) {
		System.out.println("setImage()" + img);

		if (img != null) {
			tracker.removeImage(this.image, 0);

			this.image = img;

			tracker.addImage(this.image, 0);

			try {
				tracker.waitForID(0);
			} catch (Exception e) {
				// TODO: handle exception
			}
		}

		// Check old size and new size
		if (img != null && img.getWidth(this) > 0 && img.getHeight(this) > 0) {

			Dimension oldPreferredSize = getPreferredSize();
			Dimension newPreferredSize =
				new Dimension(img.getWidth(this), img.getHeight(this));

			if (!oldPreferredSize.equals(newPreferredSize)) {
				this.setPreferredSize(newPreferredSize);
			}
		}

		SwingUtilities.invokeLater(repainter);
	}

	/**
	 * @param eventQueue - an ArrayList of mouse event to set.
	 */
	public void setMouseEventQueue(ArrayList eventQueue) {
		this.mouseEventQueue = eventQueue;
	}

	/**
	 * @return returns an ArrayList of mouse event.
	 */
	public ArrayList getMouseEventQueue() {
		return mouseEventQueue;
	}

	/**
	 *
	 * @return an ArrayList of keyboard event
	 */
	public ArrayList getKeyEventQueue() {
		return keyEventQueue;
	}

	/**
	 *
	 * @param keyEventQueue - an ArrayList of mouse event
	 */
	public void setKeyEventQueue(ArrayList keyEventQueue) {
		this.keyEventQueue = keyEventQueue;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产人成亚洲第一网站在线播放| 欧美性大战久久| 日韩一区欧美小说| 久久精品视频免费| 欧美va亚洲va香蕉在线| 欧美在线影院一区二区| 91丨porny丨在线| 国产一区二区三区免费在线观看| 亚洲成人手机在线| 亚洲综合在线观看视频| 日韩小视频在线观看专区| 在线电影院国产精品| 欧美日韩和欧美的一区二区| 欧美日韩在线电影| 7777精品伊人久久久大香线蕉超级流畅| 97久久精品人人做人人爽50路| 成人精品视频一区二区三区尤物| 国产精品1区二区.| 色综合欧美在线| 欧美三级乱人伦电影| 国产精品的网站| 亚洲一区在线观看网站| 9人人澡人人爽人人精品| 色婷婷av一区二区三区大白胸 | 久久久久久久久久久久久夜| 久久欧美中文字幕| 蜜臀91精品一区二区三区| 激情欧美一区二区三区在线观看| 国产一区二区女| 日韩欧美一二三四区| 日本一区二区综合亚洲| 黄一区二区三区| 精品欧美乱码久久久久久1区2区| 蜜臀99久久精品久久久久久软件| 欧美老人xxxx18| 强制捆绑调教一区二区| 国产99久久久精品| 欧美在线视频全部完| 伊人开心综合网| 国产在线播精品第三| 26uuu国产一区二区三区| 亚洲视频在线一区| 久久精品国产一区二区| 91香蕉视频在线| 一区二区三区在线视频免费 | eeuss影院一区二区三区| 中国av一区二区三区| 日韩和欧美一区二区三区| 国产成人精品免费网站| 欧美日韩视频专区在线播放| 日日夜夜免费精品视频| 精品国产乱码久久久久久闺蜜| 亚洲欧美日韩在线播放| 美国十次综合导航| 久久在线免费观看| 99精品偷自拍| 日本不卡一二三区黄网| 久久天天做天天爱综合色| 成人晚上爱看视频| 一区二区三区高清不卡| 91精品婷婷国产综合久久竹菊| 六月丁香婷婷久久| 亚洲素人一区二区| 3751色影院一区二区三区| 激情小说欧美图片| 亚洲伦理在线精品| 91精品国产免费| 亚洲福利视频一区二区| 色噜噜狠狠成人中文综合| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲图片欧美视频| 2024国产精品视频| 欧美伊人精品成人久久综合97| 国产在线精品一区二区夜色 | 日本韩国精品一区二区在线观看| 日韩精品国产精品| 中文字幕亚洲不卡| 欧美xxxx在线观看| 91久久免费观看| 国产黄色精品网站| 亚洲777理论| 亚洲丝袜制服诱惑| 国产亚洲成av人在线观看导航| 欧美亚洲国产怡红院影院| 国产成人无遮挡在线视频| 婷婷综合在线观看| 欧美一级在线观看| 99国产精品久久久久久久久久 | 久久综合色天天久久综合图片| 色综合久久88色综合天天免费| 美日韩黄色大片| 亚洲成人777| 亚洲欧美另类在线| 国产视频一区在线播放| 日韩一卡二卡三卡国产欧美| 91成人看片片| 91美女片黄在线| 成人一区二区三区在线观看| 老司机午夜精品| 日本在线不卡视频一二三区| 日韩久久久精品| 欧美色网一区二区| 91黄色小视频| 91麻豆精品在线观看| 成人免费毛片嘿嘿连载视频| 黑人巨大精品欧美黑白配亚洲| 日韩av不卡一区二区| 三级久久三级久久| 午夜精品久久久久久| 亚洲第一精品在线| 亚洲一区av在线| 亚洲国产va精品久久久不卡综合| 一区二区在线观看免费视频播放| 国产精品福利一区二区| 中文字幕一区二区三| 中文字幕一区二区不卡| 最新日韩av在线| 一区二区三区不卡视频| 亚洲一区二区三区四区在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品国产三级国产a| 国产精品国产自产拍高清av王其| 中文字幕一区二区三| 亚洲影院在线观看| 亚洲va欧美va人人爽| 日韩国产在线观看| 美国一区二区三区在线播放| 国产精品资源网| 国产不卡在线播放| 91丝袜呻吟高潮美腿白嫩在线观看| 成人高清视频免费观看| 蜜桃视频在线观看一区二区| 激情丁香综合五月| 成人蜜臀av电影| 91黄视频在线观看| 欧美一级理论性理论a| 久久一日本道色综合| 中文字幕电影一区| 亚洲国产一区二区视频| 日本在线观看不卡视频| 国产成人综合精品三级| 日本道色综合久久| 精品国产伦理网| 亚洲免费在线看| 日韩国产欧美视频| 天天操天天色综合| 精品欧美黑人一区二区三区| 伊人婷婷欧美激情| 国产人久久人人人人爽| 亚洲综合免费观看高清完整版| 午夜精品久久久久影视| 国产高清亚洲一区| 欧美在线视频全部完| 久久久精品影视| 亚洲啪啪综合av一区二区三区| 日韩高清不卡一区| av一本久道久久综合久久鬼色| 欧美日韩国产成人在线91| 久久免费午夜影院| 视频一区在线视频| a美女胸又www黄视频久久| 日韩欧美视频一区| 亚洲乱码中文字幕| 国产91精品一区二区麻豆亚洲| 精品视频一区二区三区免费| 国产精品三级av在线播放| 天堂在线一区二区| 91蝌蚪porny| 国产亚洲欧洲997久久综合| 亚洲chinese男男1069| 99久久综合99久久综合网站| 欧美变态口味重另类| 亚洲成a人片在线观看中文| a级精品国产片在线观看| 久久综合九色欧美综合狠狠| 午夜久久电影网| 在线观看欧美黄色| 综合久久综合久久| 国产成人综合亚洲91猫咪| 日韩西西人体444www| 亚洲成人激情av| 91网站最新地址| 亚洲同性gay激情无套| 风流少妇一区二区| 免费成人在线影院| 欧美精品在线观看播放| 亚洲与欧洲av电影| 欧美午夜精品久久久久久超碰| 亚洲免费观看高清完整版在线| 成人免费av网站| 国产精品高潮呻吟久久| 国产精品18久久久久久久久久久久| 日韩一二三区视频| 欧美aa在线视频| 精品欧美乱码久久久久久1区2区| 琪琪一区二区三区| 日韩精品在线看片z| 国产在线精品一区二区三区不卡| 日韩欧美成人一区| 国产乱码精品1区2区3区|