Java边界布局不工作
边框布局不适合我。。。我一直在使用一个教程,并复制了他们在我的代码上运行时所做的,但它不起作用。如果你能指出我的错误,并解释为什么这是一个错误,那将是非常好的,谢谢!) 我的代码如下:Java边界布局不工作,java,swing,awt,layout-manager,border-layout,Java,Swing,Awt,Layout Manager,Border Layout,边框布局不适合我。。。我一直在使用一个教程,并复制了他们在我的代码上运行时所做的,但它不起作用。如果你能指出我的错误,并解释为什么这是一个错误,那将是非常好的,谢谢!) 我的代码如下: public static JButton bb = new JButton("Continue"); public TextArea ta = new TextArea(30,140); TextArea tb = new TextArea(3,140); public int counter = 0; //
public static JButton bb = new JButton("Continue");
public TextArea ta = new TextArea(30,140);
TextArea tb = new TextArea(3,140);
public int counter = 0;
//main class
public static void main(String[]args){
Frame f = new Frame("---Quest---");
base ex = new base();
ex.init();
f.setResizable(false);
f.add("Center", ex);
f.pack();
f.show(true);
f.setSize(1100,800);
}
public void init() {
bb.addActionListener(this);
Panel p;
setLayout(new BorderLayout());
p = new Panel();
p.add(ta,BorderLayout.NORTH);
p.add(tb, BorderLayout.CENTER);
p.add(bb, BorderLayout.SOUTH);
tb.setLocation(0,50);
p.setBackground(Color.blue);
ta.setBackground(Color.cyan);
ta.setEditable(false);
add("Center", p);
}
在另一个容器上调用setLayout
不会更改其他容器的布局管理器,这会很烦人
默认情况下,面板
使用的是流程布局
。相反,请尝试使用p=new面板(new BorderLayout())
我还鼓励使用add(p,BorderLayout.CENTER)代码>上方<代码>添加(“中心”,p)代码>,可能出错的地方更少(例如拼写错误center
)
尽量避免混合AWT和Swing组件,因为它们不能很好地协同工作,相反,选择一个API并坚持使用它。作为一般性建议,如果不是JavaFX,我们建议至少使用Swing,因为他们比AWT有更好的社区支持
查看并了解更多详细信息请1)充分定义“不起作用”的含义。你希望看到什么?你到底看到了什么?2) 请尝试格式化您的代码,使其符合标准,并更容易被我们理解。代码块的缩进不应该是随意的,而是每个代码块应该有4个空格,并且不应该变化@SuppressWarnings(“弃用”)
是一种永远不应该使用的注释。f.add(“Center”,ex)
最好使用f.add(例如,BorderLayout.CENTER)
。我最好不要使用15年前被取代的API…只是说…@DJRIFFLEp
使用的是FlowLayout
,而不是BorderLayout
…您还混合了Swing和AWT组件,这将导致你痛苦地滑向一个不兼容的滑坡,因为组件之间为了谁应该在顶部涂漆而相互争斗。。。
setLayout(new BorderLayout());
p = new Panel();
p.add(ta,BorderLayout.NORTH);
p.add(tb, BorderLayout.CENTER);
p.add(bb, BorderLayout.SOUTH);