gpt4 book ai didi

创建 BoxLayout 时的 java.awt.AWTERROR

转载 作者:行者123 更新时间:2023-12-01 21:43:21 26 4
gpt4 key购买 nike

我正在尝试制作一个框布局,其中按降序填充 Jlabel 和 3 个单选按钮。程序编译正常,但随后出现错误,提示 BoxLayout 无法共享。我见过有人说这个错误是因为他们试图将其附加到 jframe,但在这种情况下,是 jpanel 被赋予布局而不是框架。这是编译窗口的代码段。

JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
JPanel effortButtons = new JPanel();
JPanel skillButtons = new JPanel();
effortButtons.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
skillButtons.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
effortButtons.add(effortHeader);//this is what gives the error
effortButtons.add(oneEffort);
effortButtons.add(twoEffort);
effortButtons.add(threeEffort);
skillButtons.add(skillHeader);
skillButtons.add(oneSkill);
skillButtons.add(twoSkill);
skillButtons.add(threeSkill);
mainPanel.add(effortButtons, BorderLayout.WEST);
mainPanel.add(skillButtons, BorderLayout.EAST);
mainPanel.add(studentName, BorderLayout.NORTH);
mainPanel.add(next, BorderLayout.SOUTH);
add(mainPanel);
pack();

最佳答案

// xxxxxxxxxxxxx                         xxxxxxxxx
effortButtons.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));

您必须将获取布局的组件传递到 BoxLayout 构造函数中。所以这应该是:

effortButtons.setLayout(new BoxLayout(efforButtons, BoxLayout.Y_AXIS));

对于我们的其他 JPanel 也是如此 - 将其更改为:

skillButtons.setLayout(new BoxLayout(skillButtons, BoxLayout.Y_AXIS));
<小时/>

根据 BoxLayout API :

public BoxLayout(Container target, int axis)
target - the container that needs to be laid out

关于创建 BoxLayout 时的 java.awt.AWTERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213011/

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