?? 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 + -