(说)我创建了一个带有三个按钮的JPanel。我想按如下方式放置按钮(我使用netbeans GUI编辑器完成了这个。但我需要手动编写整个GUI。)
有人可以告诉我一种实现这一目标的方法。
(换句话说,我需要将一些按钮右对齐,其他一些按钮左对齐。)
答案 0 :(得分:12)
我想您希望配置按钮尽可能地向左,并且确定和取消组合在一起对。如果是这样,我建议使用BorderLayout
并在WEST中放置配置按钮,并为确定,取消的流布局>并将该面板放在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);
}
}