📄 applicationmirrortest.java
字号:
import java.awt.*;import java.util.*;import javax.swing.*;import java.awt.event.*;import java.net.*;import java.io.*;public class ApplicationMirrorTest { Map component_map; public ApplicationMirrorTest() { component_map = new ComponentMap(); JFrame frame = new JFrame(); frame.getContentPane().setLayout(new FlowLayout()); final JButton button = new JButton("action generator"); button.setName("button"); frame.getContentPane().add(button); JTextField tf = new JTextField("text field"); tf.setName("textfield"); frame.getContentPane().add(tf); frame.pack(); frame.show(); } public void openSender(Socket sock) throws Exception { final ObjectOutputStream out = new ObjectOutputStream(sock.getOutputStream()); Toolkit.getDefaultToolkit().addAWTEventListener( new AWTEventListener() { public void eventDispatched(AWTEvent evt) { try { if(evt instanceof MouseEvent) { MouseEvent me = (MouseEvent)evt; out.writeObject(me.getComponent().getName()); out.writeObject(evt); } } catch (Exception ex) { } } }, AWTEvent.ACTION_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK ); } public void openReceiver() throws Exception { // receive events System.out.println("couldn't open socket. must be the server"); ServerSocket server = new ServerSocket(6754); Socket sock = server.accept(); EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue(); ObjectInputStream in = new ObjectInputStream(sock.getInputStream()); while(true ) { String id = (String) in.readObject(); AWTEvent evt = (AWTEvent) in.readObject(); if(evt instanceof MouseEvent) { MouseEvent me = (MouseEvent)evt; MouseEvent me2 = new MouseEvent( (Component)component_map.get(id), me.getID(), me.getWhen(), me.getModifiers(), me.getX(), me.getY(), me.getClickCount(), me.isPopupTrigger(), me.getButton() ); eq.postEvent(me2); } } } public void start() { try { // send events final Socket sock = new Socket("localhost",6754); openSender(sock); } catch (Exception ex) { try { openReceiver(); } catch (Exception ex2) { System.out.println("exception: " + ex); } } } public static void main(String[] args) throws Exception { ApplicationMirrorTest mirror = new ApplicationMirrorTest(); mirror.start(); } public static void p(String str) { System.out.println(str); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -