Parcourir la source

java实现远程控制

朱丽 il y a 4 ans
Parent
commit
f9c8f7ca19

+ 27 - 3
src/com/sziit/G06/controller/Controller.java

@@ -26,11 +26,32 @@ public class Controller extends Thread {
      * 显示页面
      */
     public void showUI() {
+
+        //获取当前屏幕大小(本机控制端)
+        Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
+        int w=dim.width;
+        int h=dim.height;
+
+        System.out.println("w = " + w);
+        System.out.println("h = " + h);
+
+        //获取不包含任务栏的屏幕大小(被控制端)
+        GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
+        Rectangle rect=ge.getMaximumWindowBounds();
+        int w1=rect.width;
+        int h1=rect.height;
+        System.out.println("w1 = " + w1);
+        System.out.println("h1 = " + h1);
+
+
         //1.处理图形页面
         javax.swing.JFrame frame=new javax.swing.JFrame("远程控制");
-        frame.setSize(1920,1080);
+//        frame.setSize(1920,1080);
+        //设置控制端屏幕大小,整个屏幕高度
+        frame.setSize(w,h);
         frame.setResizable(false);
-        la_image.setSize(1920, 1080);
+        //设置被控制端屏幕大小,不包含任务栏高度
+        la_image.setSize(w1, h1);
         JLayeredPane jlp = new JLayeredPane();
         jlp.add(la_image);
 
@@ -42,6 +63,8 @@ public class Controller extends Thread {
         //设置置顶
         frame.setAlwaysOnTop(true);
 
+
+
         //2.监听键盘事件并处理
         frame.addKeyListener(new KeyAdapter(){
                                  public void keyPressed(KeyEvent e) {
@@ -148,7 +171,8 @@ public class Controller extends Thread {
                 int h =d.height;
 
                 //将读取到的图片回放
-                BufferedImage bi = resize(img,1920,1080);
+//                BufferedImage bi = resize(img,1920,1080);
+                BufferedImage bi = resize(img,w,h);
 
                 la_image.setIcon(new ImageIcon(bi));
 

+ 1 - 0
src/com/sziit/G06/controller/Server.java

@@ -86,6 +86,7 @@ public class Server extends JFrame {
             public void mouseClicked(MouseEvent e) {
                 try {
                     Controller.connect(iptf.getText(),Integer.parseInt(porttf.getText().trim()));
+//                    if (iptf.getText()==null||iptf.getText())
                 } catch (NumberFormatException e1) {
 
                     //端口号格式输入出错