【问题标题】:How do I align my checkboxes in a GridLayout?如何在 GridLayout 中对齐复选框?
【发布时间】:2013-10-06 14:22:18
【问题描述】:

我需要在我的 GUI 中对齐复选框,但我无法找到正确的命令或方法。我写了一个更容易阅读的简短示例:

public class GUI {

JFrame window = new JFrame();
JPanel mainPanel = new JPanel();
JPanel[] rowPanel = new JPanel[5];
JCheckBox[] check = new JCheckBox[5];

public GUI () { 
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setExtendedState(window.MAXIMIZED_BOTH);
        window.setVisible(true);
        window.add(mainPanel);
        mainPanel.setLayout(new GridLayout(5, 1));

        for(int i = 0; i < 5; i++) 
        {
        rowPanel[i] = new JPanel();
        mainPanel.add(rowPanel[i]);
        }

        check[0] = new JCheckBox("red");
        check[1] = new JCheckBox("violet");
        check[2] = new JCheckBox("pink");
        check[3] = new JCheckBox("magenta");
        check[4] = new JCheckBox("every color");

        for(int i = 0; i < 5; i++) 
        {
            rowPanel[i].add(check[i]);
        }   
    }
}

我尝试过.setHorizontalTextPosition().setHorizontalAlignment(),但都没有成功。我希望所有框都在其标签的右侧垂直对齐。

【问题讨论】:

    标签: java swing layout alignment jcheckbox


    【解决方案1】:

    停止添加所有这些面板。使用一个面板,将复选框添加到该面板,并在该面板上设置对齐方式。我已经修改了你的 GUI 构造函数。

    public GUI() {
    
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setExtendedState(window.MAXIMIZED_BOTH);
        window.setVisible(true);
        window.add(mainPanel);
        mainPanel.setLayout(new GridLayout(5, 1));
        mainPanel.setAlignmentY(JComponent.LEFT_ALIGNMENT);
    
        check[0] = new JCheckBox("red");
        check[1] = new JCheckBox("violet");
        check[2] = new JCheckBox("pink");
        check[3] = new JCheckBox("magenta");
        check[4] = new JCheckBox("every color");
    
        for (int i = 0; i < 5; i++) {
            mainPanel.add(check[i]);
        }
    
    }
    

    【讨论】:

    • 谢谢!我不知道我不需要面板。
    猜你喜欢
    • 1970-01-01
    • 2016-01-25
    • 2018-03-02
    • 2012-12-30
    • 1970-01-01
    • 2015-07-15
    • 2018-02-05
    • 2015-07-05
    • 2011-04-18
    相关资源
    最近更新 更多