?? mouseeventcodec.java
字號:
/*
* @(#)MouseEventCodec.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.Component;
import java.awt.Label;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.StringTokenizer;
/**
* MouseEventCodec
* Encode or decode java.awt.event.MouseEvent to string. The format is:
* {x},{y},{button},{event id},{when}|{next event...
* eg: 632,51,1,501,1125548623674|632,51,1,502,1125548623804|
*
* Chinese documents:
* 編碼或者解碼 java.awt.event.MouseEvent 為字符串. 編碼格式為:
* {x},{y},{按鍵},{事件 id},{發生時間}|{下一事件...
* 示例: 632,51,1,501,1125548623674|632,51,1,502,1125548623804|
* @author BeanSoft
* @version 1.00 2005-9-1
*/
public class MouseEventCodec {
/** A component used to be a event source to avoid null constructors */
private static final Component source = new Label();
/**
* Encoding a series mouse events to a long string.
* @param eventList an ArrayList contains MouseEvent
* @return String contains encoded mouse events
*/
public static String mouseEventToString(ArrayList eventList) {
if(eventList == null || eventList.size() == 0) return "";
StringBuffer buff = new StringBuffer();
for(int i = 0; i < eventList.size(); i++) {
MouseEvent e = (MouseEvent) eventList.get(i);
buff.append(e.getX()).append(",");
buff.append(e.getY()).append(",");
buff.append(e.getButton()).append(",");
buff.append(e.getID()).append(",");
buff.append(e.getWhen());
buff.append("|");
}
return buff.toString();
}
/**
* Decode string to mouse event list.
* @param events String contains encoded mouse events
* @return an ArrayList contains MouseEvent
*/
public static ArrayList stringToMouseEvent(String events) {
if(events == null || events.length() == 0) {
return null;
}
ArrayList list = new ArrayList();
StringTokenizer token = new StringTokenizer(events, "|");
while(token.hasMoreElements()) {
StringTokenizer stringTokenizer = new StringTokenizer(token.nextElement().toString(), ",");
int x = 0, y = 0, button = 0, id = 0, when = 0;
if(stringTokenizer.hasMoreElements()) {
x = KeyEventCodec.parseInt(stringTokenizer.nextElement().toString());
}
if(stringTokenizer.hasMoreElements()) {
y = KeyEventCodec.parseInt(stringTokenizer.nextElement().toString());
}
if(stringTokenizer.hasMoreElements()) {
button = KeyEventCodec.parseInt(stringTokenizer.nextElement().toString());
}
if(stringTokenizer.hasMoreElements()) {
id = KeyEventCodec.parseInt(stringTokenizer.nextElement().toString());
}
if(stringTokenizer.hasMoreElements()) {
when = KeyEventCodec.parseInt(stringTokenizer.nextElement().toString());
}
MouseEvent event = new MouseEvent(source, id, when, 0, x, y, 0, false, button);
list.add(event);
}
return list;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -