setVisible(false)时JFrame不隐藏

use*_*136 2 java jframe

import javax.swing.*;

class Frame extends JFrame{
    Frame() {
        JFrame j = new JFrame();
        j.setBounds(100, 200, 120, 120);
        j.setTitle("null");
        j.setVisible(true);
        j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

public class test001 {

    public static void main (String Args[]){
        Frame f = new Frame();
         System.out.print("Visible = True");

        f.setVisible(false);
        System.out.print("Visible = false");
    }
}
Run Code Online (Sandbox Code Playgroud)

在setVisible(false)命令之后.JFrame窗口仍显示在我的桌面上.我该如何解决这个问题?

JRL*_*JRL 5

您正在JFrame构造函数中创建另一个.假设你想要的是你的Frame类是隐形的,那么这样做:

class Frame extends JFrame {

   Frame() {
      setBounds(100, 200, 120, 120);
      setTitle("null");
      setVisible(true);
      setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
   }
}

public class test001 {

   public static void main(String Args[]) {
      Frame f = new Frame();
      System.out.print("Visible = True");

      f.setVisible(false);
      System.out.print("Visible = false");
   }
}
Run Code Online (Sandbox Code Playgroud)