好的,所以我将一个BoxLayout设置为Y_AXIS,用于我在JFrame中的主面板。我试图将实际的Frame设置为BoxLayout设置为X_AXIS,然后将我的主面板添加到我的JFrame,但是我得到一个java.awt.AWTError说:“BoxLayout无法共享”。有没有其他方法可以使用BoxLayout来实现这个目标?
ComponentPanel.setToolTipText("I go in the FramePanel as well as other of my types aligned up and down");
FramePanel.setLayout(new BoxLayout(FramePanel, BoxLayout.Y_AXIS));
FramePanel.add(ComponentPanel);
Frame.setLayout(new BoxLayout(Frame, BoxLayout.X_AXIS));
Frame.add(FramePanel);
答案 0 :(得分:2)
使用JFrame
的内容面板作为BoxLayout
的目标容器:
frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.X_AXIS));
此外,请尝试关注Java Naming Conventions。变量名称应以小写字母开头;类名应以大写字母开头。
答案 1 :(得分:0)
BoxLayout在“新BoxLayout”中是“静态的”。 尝试使用类扩展Panel并将Panel放在包文件夹中以更改包层次结构级别以分隔“静态字段值”类变量Boxlayout。
e.g。类Mypanel扩展Panel {..... 您将作为包导入
import separateguipart.Mypanel;
Panel insertboxlayoutpanel =(Panel)new Mypanel();
或使用完整的分类JNDI名称
Panel insertboxlayoutpanel =(Panel)new separateguipart.Mypanel();
insertboxlayoutpanel.setLayout(new BoxLayout(FramePanel,BoxLayout.Y_AXIS));
答案 2 :(得分:-2)
代码没有问题。你只需导入一些import.javax.swing的库。; 和import.awt。;