java实现远程监控

1    为什么使用多线程
                为了抢占CPU资源。cpu多倾向于哪个应用程序,就快一点。就像家庭一样。
如果是计算密集型的任务,多去添加一些线程池,

如果是IO密集型任务,减少线程池,减少线程池的上下文切换。提升执行效率。

2   异常  不正常的事件。

            1  throws 向上级抛。
            2  试图自己去捕获。自己去捕获

3     

/**
 * 
 */
package ccf;
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.util.*;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class bowen005 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//创建一个询问框,返回值是int类型。数字好判断。设计者
	  int chice = JOptionPane.showConfirmDialog(null, "请求控制对方电脑","董博文",JOptionPane.YES_NO_OPTION);
	    //判断点击的按钮
	    if(chice ==JOptionPane.NO_OPTION) {
	    	//System.out.println("love you");
	    	//跳出这个方法
	    	return;
	    }
	    //请输入ip地址和端口号
	    JOptionPane.showInputDialog("请输入ip地址和端口号", "192.168.1.1:8080");
	    
	    /*远程桌面监控 */
	    //弹出框口
	    JFrame jf = new JFrame("远程桌面监控");
	    //设置大小
	    jf.setSize(600,600 );
	    //设置置顶
	    jf.setAlwaysOnTop(true);
	    //点击x号退出,后台程序退出
	     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	   //设置是否可见
	    jf.setVisible(true);
	   /*远程桌面监控*/
	    
	    
	     //内容   权限,操作系统权限
	     //直接查询操作系统,有了它就获取到操作系统的权限。
	     Toolkit tk = Toolkit.getDefaultToolkit();
	     //获取屏幕的大小 对象 取个老婆。可以做很多事情
	     // Dimension dm = new Dimension();
	     //dm.getWidth();0 ,dm是通过tk创建的,而不是new出来的,new出来的坐标不对,是0!
	     Dimension dm =tk.getScreenSize();
	  
	     //创建一个小面板并添加到大面版里面。
	     JLabel imageJable = new JLabel();
	     jf.add(imageJable);
	     
	     while(true) {
	     //创建一个机器人,帮助我们截取电脑屏幕
	     try {
			Robot robot = new Robot();
			//指定截取的区域,括号里是坐标 jf.getWidth(),0,起点坐标。(int)dm.getWidth()-jf.getWidth(),(int)dm.getHeight()坐标
			//踩点
		   Rectangle rec = new Rectangle(jf.getWidth(),0,(int)dm.getWidth()-jf.getWidth(),(int)dm.getHeight());
		    //捕获
		   BufferedImage bufTmg = robot.createScreenCapture(rec);
		    //放进去
		   imageJable.setIcon(new ImageIcon(bufTmg));
			
		} catch (AWTException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	     }
	}
}

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱Go的小蚊子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值