【发布时间】:2015-01-27 13:30:53
【问题描述】:
我试图在JFrame 中有两个按钮,我调用它们的setBounds 方法来设置它们的位置和大小,并且我将null 传递给setLayout1 because I want to usesetBounds` 组件的方法.
现在我想用我的代码做一些事情,每当我调整框架按钮的大小时,装饰都会以合适的形式改变,如下图所示:
我知道可以使用从JPanel 类创建一个对象并向其添加按钮,最后将创建的面板对象添加到框架,但由于某种原因我现在不允许这样做(由教授)。
有什么办法或者你有什么建议吗?
我的代码是这样的:
public class Responsive
{
public static void main(String[] args)
{
JFrame jFrame = new JFrame("Responsive JFrame");
jFrame.setLayout(null);
jFrame.setBounds(0,0,400,300);
JButton jButton1 = new JButton("button 1");
JButton jButton2 = new JButton("button 2");
jButton1.setBounds(50,50,100,100);
jButton2.setBounds(150,50,100,100);
jFrame.add(jButton1);
jFrame.add(jButton2);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
}
}
【问题讨论】:
-
将布局设置为空是个坏主意。 Create your ownLayoutManager 代替。
-
是的,我同意你的观点,但这是我们在大学的项目,他们告诉我们这样做:-(
标签: java swing jframe layout-manager null-layout-manager