gpt4 book ai didi

java - 如何在 GridLayout 中对齐复选框?

转载 作者:行者123 更新时间:2023-12-01 23:32:44 25 4
gpt4 key购买 nike

我需要对齐 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]);
}
}
}

我尝试过 .setHorizo​​ntalTextPosition().setHorizo​​ntalAlignment(),但都不起作用。我希望所有的框在其标签的右侧垂直对齐。

最佳答案

停止添加所有这些面板。使用一个面板,将复选框添加到该面板,然后在该面板上设置对齐方式。我已经修改了你的 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]);
}

}

关于java - 如何在 GridLayout 中对齐复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19099006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com