eventreceiver.java

来自「原创」· Java 代码 · 共 72 行

JAVA
72
字号
package clientServer;

import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class EventReceiver extends Thread {
	private Socket mSocket = null;
	private ObjectInputStream mOin;
	private Object mTemp;
	private SystemInterface mSif = SystemInterface.getInstance();

	public EventReceiver() {
		try {
			mSocket = new Socket(Common.sIp, Common.sEPort);
			mOin = new ObjectInputStream(mSocket.getInputStream());
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public void run() {
		while (Common.sContinue) {
			try {
				mTemp = mOin.readObject();
				handleEvent(mTemp);
			} catch (IOException e) {
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		}
	}

	public void handleEvent(Object ep) {
		if (ep instanceof MouseEvent) {
			MouseEvent event = (MouseEvent) ep;

			switch (event.getID()) {
			case MouseEvent.MOUSE_CLICKED:
				mSif.mouseMove(event.getX(), event.getY());
				mSif.mouseClicked(event.getModifiers());
				break;
			case MouseEvent.MOUSE_PRESSED:
				mSif.mouseMove(event.getX(), event.getY());
				mSif.mousePress(event.getModifiers());
				break;
			case MouseEvent.MOUSE_RELEASED:
				mSif.mouseMove(event.getX(), event.getY());
				mSif.mouseRelease(event.getModifiers());
				break;
			}
		} else {
			KeyEvent event = (KeyEvent) ep;

			switch (event.getID()) {
			case KeyEvent.KEY_PRESSED:
				mSif.keyPress(event.getKeyCode());
				break;
			case KeyEvent.KEY_RELEASED:
				mSif.keyRelease(event.getKeyCode());
				break;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?