📄 spyclient.java
字号:
package TCPSpy; import com.sun.image.codec.jpeg.*; import java.io.*; import java.awt.image.*; import java.net.*; import java.awt.*; import javax.swing.*; class MyFrame extends JFrame { private MyPanel panel = null; public MyFrame() { panel = new MyPanel(); add(panel); } public void drawScr(BufferedImage bi) { panel.draw(bi); } private class MyPanel extends JPanel { private BufferedImage bi = null; @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(bi, 0, 0, null); } public void draw(BufferedImage bi) { this.bi = bi; this.updateUI(); } } } public class SpyClient extends Thread { private InetAddress ip = null; private Socket s = null; private InputStream is = null; private MyFrame frame = null; public SpyClient(String address, int port) { try { ip = InetAddress.getByName(address); s = new Socket(ip, port); is = s.getInputStream(); } catch (Exception ex) { ex.printStackTrace(); System.err.println("public Client."); } } @Override public void run() { frame = new MyFrame(); frame.setSize(800,600); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); try { JPEGImageDecoder decoder ; while(true) { decoder = JPEGCodec.createJPEGDecoder(is); Dimension d=Toolkit.getDefaultToolkit().getScreenSize(); BufferedImage resize=new BufferedImage((int) d.getWidth(),(int) d.getHeight(),BufferedImage.TYPE_INT_RGB); BufferedImage bi = decoder.decodeAsBufferedImage(); resize.getGraphics().drawImage(bi, 0, 0,(int) d.getWidth(),(int) d.getHeight(), null); if (resize != null) { frame.drawScr(resize); } Thread.sleep(20); } } catch (Exception ex) { ex.printStackTrace(); } } public static void main(String[] args) throws Exception { new SpyClient("192.168.3.121",2222).start(); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -