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…只是说…@DJRIFFLE
p
使用的是
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);