我通常使用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);
}
}
由于
答案 0 :(得分:2)
您是否尝试在setBounds之后调用setSize;
setBounds(0, 0, 800, 600);
setSize(1000, 1000); //this will resize window
public void setBounds(int x, 是的, 整数宽度, int height)
如果在setSize之后调用setBounds,则setBounds
设置width和heightimport 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);
}
}
答案 1 :(得分:2)
在将组件和容器添加到当前JFrame后调整大小。
答案 2 :(得分:1)
尝试拨打this.setSize(x, y)
:
this.setSize(WIDTH, HEIGHT);
您需要在方法调用之前放置this
,因为您的类已扩展为JFrame,您需要使用setSize
将方法this
归于您的JFrame。