[英]What is the purpose of `setLayout` method in Swing/AWT components?
[英]Swing setLayout Bug
我正在尝试创建一个简单的 swing 程序,该程序在 eclipse IDE 上使用 BorderLayout。 我相信我正确使用了 setLayout 方法,但出现了一个给定的错误,我不知道如何修复它。 有人可以帮我解决这个错误吗? 给定的错误是
Container 类型中的方法 setLayout(LayoutManager) 不适用于参数 (BorderLayout)
我做了一些研究,但没有运气解决它。 这是我使用的代码。
import java.awt.LayoutManager;
import javax.swing.JButton;
import javax.swing.JFrame;
public class BorderLayout extends JFrame {
JButton btn1 = new JButton("1");
JButton btn2 = new JButton("2");
JButton btn3 = new JButton("3");
JButton btn4 = new JButton("4");
JButton btn5 = new JButton("5");
JButton btn6 = new JButton("6");
public void initialize() {
setTitle("BorderLayout Demo");
setSize(500, 500);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public BorderLayout() {
getContentPane().setLayout(new BorderLayout());
initialize();
}
public static void main(String[] args) {
new BorderLayout();
}
}
您正在用自己的类隐藏java.awt.BorderLayout
。
在您的通话中限定BorderLayout
getContentPane().setLayout(new java.awt.BorderLayout());
或者,更好的是,将您的类名更改为明确的名称。
您传递的是您自己的BorderLayout
类的实例,而不是java.awt.BorderLayout
。 命名类可能不是一个好主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.