[英]What is the purpose of `setLayout` method in Swing/AWT components?
[英]SetLayout Function main purpose
public void init_numSolvers() {
for (x = 0; x < 9; x++) {
n++;
num[x] = new Button("" + n);
add(num[x]);
num[x].setBounds(num_x, num_y, 40, 40);
setLayout(null);
num_x += 40;
}
为什么没有setLayout(null)的setBounds()函数不起作用,我只想了解setLayout(null)函数的主要目的
您将要阅读这些教程和API,因为它们清楚地阐明了setBounds和setLayout的功能,但简要介绍了:
setLayout(...)
方法允许您设置容器的布局,通常是JPanel,例如FlowLayout,BorderLayout,GridLayout,空布局或所需的任何布局。 布局管理器帮助布局此容器保存的组件。 setBounds(...)
方法用于设置单个组件的位置和大小,仅在包含此组件的容器使用null
布局时才有用。 null
布局和setBounds(...)
。 对于新手Swing程序员来说,这似乎是创建复杂布局的最简单方法,当使用它们时,您创建的GUI可能只在一个平台上看起来不错。 更重要的是,他们创建了几乎不可能进行维护和升级而又不会引起细微错误的GUI。 只是尽可能不要使用它们。 请注意,您的代码在for循环中反复将容器的布局设置为null。 我不知道为什么它这样做,因为反复只需要并要设置一个容器的布局一次 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.