0

有点慌张。过去两个月一直在做一个项目。几天前我更改了一些盒子尺寸并保存了它。今天早上重新加载它,窗口大小变得非常小,我收到错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: javax.swing.JButton[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.synth.SynthBorder@ce623f,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Search,defaultCapable=true] is not attached to a horizontal group

有任何想法吗??!?!?!?!

4

1 回答 1

2

错误消息说明了一切。您有某个组件 (a JButton),您已将其添加到垂直组,但忘记将其添加到水平组以及GroupLayout. 请参阅教程的如何使用GroupLayout部分LayoutManager和相应的示例代码

layout.setHorizontalGroup(
   layout.createSequentialGroup()
      .addComponent(c1)
      .addComponent(c2)
      .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
           .addComponent(c3)
           .addComponent(c4))
);
layout.setVerticalGroup(
   layout.createSequentialGroup()
      .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
           .addComponent(c1)
           .addComponent(c2)
           .addComponent(c3))
      .addComponent(c4)
);

如果您addComponent(c3)从第一行中删除该部分,您将收到类似的异常。

当然,如果没有看到您的代码,我无法确定您在项目中的确切位置搞砸了,但是一个不错的基于 VCS 的差异工具可以在这两个版本之间进行比较,应该很快就会发现这一点

于 2012-07-31T13:36:35.120 回答