我通常使用setSize()方法调整窗口大小,但是这次它不起作用吗?我想调整窗口的大小以适合我所有的组件。我已经删除了大部分代码,因为它与我的问题无关,但剩下需要的内容。我发现了类似问题的问题,但是解决方案似乎太复杂了,无法在我的代码中复制它们。这是我的课:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

@SuppressWarnings("serial")
public class Display extends JFrame {

    public Display() {
        super("Mandelbrot Set Display");

        JPanel jp = new JPanel();
        //setSize(1000, 1000); this doesnt resize window
        setBounds(0, 0, 800, 600);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        add(jp);

    }

    public static void main(String[] args) {
        new Display().setVisible(true);
    }
}


谢谢

最佳答案

您是否在setBounds之后尝试调用setSize?

 setBounds(0, 0, 800, 600);
 setSize(1000, 1000); //this will resize window



  公共无效setBounds(int x,
               诠释
               整数宽度
               整数高度)


如果在setSize之后调用setBounds,则setBounds设置宽度和高度

import javax.swing.JFrame;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class Display extends JFrame {

    public Display() {
        super("Mandelbrot Set Display");

        JPanel jp = new JPanel();
        setBounds(0, 0, 800, 600); //800 and 600 not effect because of next line setSize method
        setSize(1000, 1000);// this doesnt resize window
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        add(jp);

    }

    public static void main(String[] args) {
        new Display().setVisible(true);
    }
}

10-07 19:04