4

(说)我创建了一个带有三个按钮的 JPanel。我想按如下方式放置按钮(我已经使用 netbeans GUI 编辑器完成了此操作。但我需要手动编写整个 GUI)。

在此处输入图像描述

有人可以告诉我实现这一目标的方法吗?

(换句话说,我需要将一些按钮右对齐,一些左对齐。)

4

1 回答 1

12

我猜您希望“配置”按钮尽可能位于左侧,而“确定”和“取消”组合在右侧。如果是这样,我建议使用一个BorderLayout并将Configure按钮放在 WEST 中,并使用一个流布局OkCancel并将该面板放在 EAST 中。

另一种选择是使用GridBagLayout和利用该GridBagConstrant.anchor属性。

由于您花时间避免使用 NetBeans GUI 编辑器,因此这里有一个很好的示例 :-)

在此处输入图像描述

下面的代码:

import java.awt.BorderLayout;
import javax.swing.*;

public class FrameTestBase {

    public static void main(String args[]) {

        // Will be left-aligned.
        JPanel configurePanel = new JPanel();
        configurePanel.add(new JButton("Configure"));

        // Will be right-aligned.
        JPanel okCancelPanel = new JPanel();
        okCancelPanel.add(new JButton("Ok"));
        okCancelPanel.add(new JButton("Cancel"));

        // The full panel.
        JPanel buttonPanel = new JPanel(new BorderLayout());
        buttonPanel.add(configurePanel, BorderLayout.WEST);
        buttonPanel.add(okCancelPanel,  BorderLayout.EAST);

        // Show it.
        JFrame t = new JFrame("Button Layout Demo");
        t.setContentPane(buttonPanel);
        t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        t.setSize(400, 65);
        t.setVisible(true);
    }
}
于 2012-08-03T07:03:50.090 回答