我正在创建一个小程序,但在定位按钮大小方面存在问题。我添加了两个按钮,但"OK"按钮的位置和大小似乎正确,但"CLEAR"按钮填充了"OK"键后面的整个小程序区域。关于问题出在哪里,有什么建议吗?
@Override
public void init()
{
super.init();
setSize(J_WIDTH, J_HEIGHT);
setLayout(new BorderLayout());
btn_OK = new Button("OK");
btn_CLEAR = new Button("CLEAR");
btn_OK.setBounds(50, 450, 75, 50);
btn_CLEAR.setBounds(125, 50, 75, 50);
add(btn_OK);
add(btn_CLEAR);
btn_OK.addActionListener(this);
btn_CLEAR.addActionListener(this);
}
使用BorderLayout
时,应指定要放置组件的位置。如果不这样做,则默认值为BorderLayout.CENTER
。此外,每个位置只能包含一个组件。因此,当您调用add(btn_OK)
时,"确定"按钮将添加到面板的中心。但是,您可以通过调用add(btn_CLEAR);
将其替换为"清除"按钮。
此外,BorderLayout
中的每个位置都占用一定的空间。该位置的组件将拉伸以填充该空间。特别是,CENTER占据了其他位置未使用的所有剩余空间。
我认为BorderLayout
不是你想要的。有关每个LayoutManager的详细信息,请参阅《布局管理器可视化指南》。您还可以按照教程的其余部分了解如何实现它们中的每一个的详细信息。
您还应该添加书签并熟悉Java API文档。对于每个Java程序员来说,这些都是必不可少的工具,可以帮助您自己回答许多问题。