2016-03-15 24 views
1

我通常使用setSize()方法调整窗口大小,但这一次它不工作?我想调整窗口大小来适应我所有的组件。我已经取出了大部分代码,因为它与我的问题无关,但已经留在了需要的部分。我发现了类似的问题,但解决方案似乎太复杂了,我无法在代码中复制它们。这里是我的课:如何调整我的GUI窗口?

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); 
    } 
} 

感谢

回答

2

你尝试的setBounds后调用的setSize;

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

公共无效的setBounds(INT X, INT Y, INT宽度, INT高度)

如果调用后的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); 
    } 
} 
+0

感谢您的帮助 –

1

尝试拨打this.setSize(x, y)

this.setSize(WIDTH, HEIGHT); 

你需要把this的方法调用之前,因为你的类扩展到JFrame中,你需要使用this的属性的方法setSize在你的JFrame。

+0

'this'不是必需的,代码块已经在同一类中运行 –

2

将组件和容器添加到当前JFrame后调整大小。