2

我正在创建一个小程序,但我的按钮大小的定位存在问题。我添加了两个按钮,但“确定”按钮似乎正确定位和调整大小,但“清除”按钮填充了“确定”按钮后面的整个小程序区域。关于问题的任何建议?

@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);
}
4

1 回答 1

1

使用 时BorderLayout,您应该指定要放置组件的位置。如果不这样做,则默认为BorderLayout.CENTER. 此外,每个位置只能包含一个组件。因此,当您调用 时add(btn_OK),OK 按钮将添加到面板的中心。但随后您通过调用 将其替换为清除按钮add(btn_CLEAR);

此外,每个位置都BorderLayout占用一定的空间。该位置的组件将拉伸以填充该空间。特别是,CENTER 占据了其他位置未使用的所有剩余空间。

我认为这BorderLayout不是你想要的。查看布局管理器的视觉指南以获取有关每个 LayoutManager 的更多信息。您还可以按照教程的其余部分了解有关如何实现它们的详细信息。

您还应该收藏并熟悉Java API 文档。这些是每个 Java 程序员必不可少的工具,可以帮助您自己回答许多问题。

于 2013-02-08T00:45:32.520 回答