- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个框布局,其中按降序填充 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/
我正在尝试制作一个框布局,其中按降序填充 Jlabel 和 3 个单选按钮。程序编译正常,但随后出现错误,提示 BoxLayout 无法共享。我见过有人说这个错误是因为他们试图将其附加到 jframe
这个问题在这里已经有了答案: error upon assigning Layout: BoxLayout can't be shared (4 个答案) 关闭 5 年前。 我在设置布局之前已经初始
这个问题已经有答案了: error upon assigning Layout: BoxLayout can't be shared (4 个回答) 已关闭 4 年前。 我在完成学校作业时遇到了一些问
我在这段代码上遇到了这个错误: super("Trace Masker"); setLayout(new BoxLayout(getContentPane(), BoxLayout.P
如何解决这个错误? Exception in thread "main" java.awt.AWTError: Assistive Technology not found: com.sun.java
我正在使用 Java 读取图像文件 java.awt.Image img = Toolkit.getDefaultToolkit().createImage(filePath); 在某些系统上这不起作
我正在尝试使用 gradle appengineUpdate 任务将我的 android app engine 后端部署到 android studio 中的 google。 这是 gradle 控制
我一直在尝试在 Docker 内的 Ubuntu VM 上运行一个基于 Java AWT 的应用程序。该应用程序非常简单,它通过 Eclipse 在 Windows 上完美运行。它只是打开一个窗口并打
我正在使用 webswing 并且出现以下错误。我已经尝试了谷歌中建议的几乎所有解决方法,例如设置 Display ,安装库 xauth ,尝试使用 ssh -x ,使用 Djava.awt.head
这是我的程序: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public
我在jshell java-11中运行这个/edit命令,当抛出异常时。 Exception in thread "main" java.awt.AWTError: Can't connect to
我是一名优秀的程序员,十分优秀!