資源簡介
Java實現遠程控制程序。

代碼片段和文件信息
package?com.lxl.controller;
import?java.awt.Dimension;
import?java.awt.DisplayMode;
import?java.awt.GraphicsDevice;
import?java.awt.GraphicsEnvironment;
import?java.awt.Toolkit;
import?java.awt.event.InputEvent;
import?java.awt.event.KeyAdapter;
import?java.awt.event.KeyEvent;
import?java.awt.event.MouseAdapter;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?java.awt.event.MouseWheelEvent;
import?java.io.IOException;
import?java.io.objectInputStream;
import?java.io.objectOutputStream;
import?java.net.ServerSocket;
import?java.net.Socket;
import?javax.swing.ImageIcon;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JScrollBar;
/**
?*?遠程控制
?*?
?*?界面接收端線程方法
?*?
?*?任務:1、接受界面;1、發送鼠標,鍵盤事件
?*?
?*?@author?lxl
?*
?*/
public?class?Receiver?implements?Runnable?{
static?Socket?socket?=?null;
//?獲取屏幕尺寸
static?Dimension?d?=?Toolkit.getDefaultToolkit().getScreenSize();
//?界面顯示(顯示傳送過來的界面圖片)
static?JLabel?label?=?new?JLabel();
static?Jframe?controllerUI?=?new?Jframe();
static?{
controllerUI.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
controllerUI.setSize(d.getSize());
label.setSize(d.getSize());
controllerUI.add(label);
controllerUI.setVisible(true);
}
@Override
public?void?run()?{
/**
?*?界面接收
?*/
new?Thread(new?Runnable()?{
@Override
public?void?run()?{
try?{
System.out.println(“UI界面接收服務器啟動“);
ServerSocket?receive?=?new?ServerSocket(9999);
ImageIcon?img?=?null;
objectInputStream?ois?=?null;
while?(true)?{
socket?=?receive.accept();
ois?=?new?objectInputStream(socket.getInputStream());
img?=?(ImageIcon)?ois.readobject();
label.setSize(new?Dimension(img.getIconWidth()?img.getIconHeight()));
label.setIcon(img);
}
}?catch?(IOException?e)?{
e.printStackTrace();
}?catch?(ClassNotFoundException?e)?{
e.printStackTrace();
}
}
}).start();
/**
?*?鼠標鍵盤事件
?*?
?*?發送
?*/
new?Thread(new?Runnable()?{
private?void?sendAction(InputEvent?e)?{
if?(socket?!=?null)?{
new?Thread(new?Runnable()?{
@Override
public?void?run()?{
objectOutputStream?oos?=?null;
Socket?order?=?null;
try?{
order?=?new?Socket(“192.168.31.135“?8888);
oos?=?new?objectOutputStream(order.getOutputStream());
//?創建鼠標事件
oos.writeobject(e);
oos.flush();
}?catch?(IOException?e1)?{
e1.printStackTrace();
}?finally?{
if?(oos?!=?null)?{
try?{
oos.close();
}?catch?(IOException?e1)?{
e1.printStackTrace();
}
}
}
}
}).start();
}
}
@Override
public?void?run()?{
controllerUI.addKeyListener(new?KeyAdapter()?{
@Override
public?void?keyReleased(KeyEvent?e)?{
sendAction(e);
}
@Ove
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-02?15:13??RemoteControl\
?????文件?????????301??2019-03-21?16:10??RemoteControl\.classpath
?????文件?????????389??2019-03-21?16:10??RemoteControl\.project
?????目錄???????????0??2019-04-02?15:13??RemoteControl\.settings\
?????文件??????????57??2019-03-25?11:23??RemoteControl\.settings\org.eclipse.core.resources.prefs
?????文件?????????598??2019-03-21?16:10??RemoteControl\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2019-04-02?15:13??RemoteControl\bin\
?????目錄???????????0??2019-04-02?15:13??RemoteControl\bin\com\
?????目錄???????????0??2019-04-02?15:13??RemoteControl\bin\com\lxl\
?????目錄???????????0??2019-04-02?15:13??RemoteControl\bin\com\lxl\controller\
?????文件????????1876??2019-04-02?14:21??RemoteControl\bin\com\lxl\controller\Receiver$1.class
?????文件????????1584??2019-04-02?14:21??RemoteControl\bin\com\lxl\controller\Receiver$2$1.class
?????文件?????????855??2019-04-02?14:21??RemoteControl\bin\com\lxl\controller\Receiver$2$2.class
?????文件?????????785??2019-04-02?14:21??RemoteControl\bin\com\lxl\controller\Receiver$2$3.class
?????文件?????????864??2019-04-02?14:21??RemoteControl\bin\com\lxl\controller\Receiver$2$4.class
?????文件????????1055??2019-04-02?14:21??RemoteControl\bin\com\lxl\controller\Receiver$2$5.class
?????文件????????1825??2019-04-02?14:21??RemoteControl\bin\com\lxl\controller\Receiver$2.class
?????文件????????1593??2019-04-02?14:21??RemoteControl\bin\com\lxl\controller\Receiver.class
?????文件????????1872??2019-04-02?14:56??RemoteControl\bin\com\lxl\controller\Sender$1.class
?????文件????????2725??2019-04-02?14:56??RemoteControl\bin\com\lxl\controller\Sender$2.class
?????文件?????????795??2019-04-02?14:56??RemoteControl\bin\com\lxl\controller\Sender.class
?????目錄???????????0??2019-04-02?15:13??RemoteControl\src\
?????目錄???????????0??2019-04-02?15:13??RemoteControl\src\com\
?????目錄???????????0??2019-04-02?15:13??RemoteControl\src\com\lxl\
?????目錄???????????0??2019-04-02?15:13??RemoteControl\src\com\lxl\controller\
?????文件????????4218??2019-04-02?14:21??RemoteControl\src\com\lxl\controller\Receiver.java
?????文件????????4774??2019-04-02?14:56??RemoteControl\src\com\lxl\controller\Sender.java
評論
共有 條評論