eclipse-windowbuilder / windowbuilder

Eclipse Windowbuilder
https://projects.eclipse.org/projects/tools.windowbuilder
Eclipse Public License 1.0
78 stars 30 forks source link

create jframe change layout #827

Open d131412 opened 1 month ago

d131412 commented 1 month ago

I created a JFrame class through WindowBuilder, and for the panel's layout, I chose GroupLayout. After adding multiple components to the panel, I found that the width of the frame in the GroupLayout mode couldn't be changed. So, I chose GridBagLayout or GridLayout. After that, I could no longer choose other layouts, and the error message is as follows:

Internal Error

WindowBuilder encountered unexpected internal error.

This could be caused by a WindowBuilder bug or by a misconfiguration issue, conflict, partialupdate, etc.

java.lang.IndexOutOfBoundsException: Index: 1, Length: 0

[Hide stack trace.](javascript:toggleVisibleAll();)

Stack trace: java.lang.IndexOutOfBoundsException: Index: 1, Length: 0 at org.apache.commons.lang3.ArrayUtils.remove(ArrayUtils.java:4938) at org.apache.commons.lang3.ArrayUtils.remove(ArrayUtils.java:5015) at org.eclipse.wb.internal.core.utils.ast.binding.DesignerMethodBinding.removeParameterType(DesignerMethodBinding.java:93) at org.eclipse.wb.core.model.association.InvocationSecondaryAssociation.canDelete(InvocationSecondaryAssociation.java:67) at org.eclipse.wb.core.model.JavaInfo.canDelete(JavaInfo.java:783) at org.eclipse.wb.core.model.JavaInfo.canDelete(JavaInfo.java:790) at org.eclipse.wb.core.model.JavaInfo.canDelete(JavaInfo.java:790) at org.eclipse.wb.internal.core.editor.actions.DeleteAction.getCommand(DeleteAction.java:104) at org.eclipse.wb.internal.core.editor.actions.CutAction.isEnabled(CutAction.java:80) at org.eclipse.wb.internal.core.editor.actions.CutAction$1.selectionChanged(CutAction.java:46) at org.eclipse.wb.internal.gef.core.AbstractEditPartViewer.lambda$0(AbstractEditPartViewer.java:169) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at org.eclipse.wb.internal.gef.core.AbstractEditPartViewer.fireSelectionChanged(AbstractEditPartViewer.java:169) at org.eclipse.gef.SelectionManager.fireSelectionChanged(SelectionManager.java:152) at org.eclipse.gef.SelectionManager.deselect(SelectionManager.java:127) at org.eclipse.gef.ui.parts.AbstractEditPartViewer.deselect(AbstractEditPartViewer.java:214) at org.eclipse.gef.editparts.AbstractEditPart.removeNotify(AbstractEditPart.java:949) at org.eclipse.gef.editparts.AbstractEditPart.lambda$14(AbstractEditPart.java:955) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at org.eclipse.gef.editparts.AbstractEditPart.removeNotify(AbstractEditPart.java:955) at org.eclipse.wb.gef.core.EditPart.removeChild(EditPart.java:210) at org.eclipse.wb.internal.gef.tree.RootEditPart.setContents(RootEditPart.java:89) at org.eclipse.wb.internal.gef.core.AbstractEditPartViewer.setInput(AbstractEditPartViewer.java:97) at org.eclipse.wb.internal.core.editor.structure.components.ComponentsTreePage.setInput(ComponentsTreePage.java:282) at org.eclipse.wb.internal.core.editor.structure.DesignComponentsComposite.setInput(DesignComponentsComposite.java:90) at org.eclipse.wb.internal.core.editor.DesignComposite.disposeDesign(DesignComposite.java:210) at org.eclipse.wb.internal.core.editor.JavaDesignComposite.disposeDesign(JavaDesignComposite.java:165) at org.eclipse.wb.internal.core.editor.DesignPage.disposeAll(DesignPage.java:353) at org.eclipse.wb.internal.core.editor.DesignPage.handleDesignException(DesignPage.java:660) at org.eclipse.wb.internal.core.editor.DesignPage$9.handleException(DesignPage.java:581) at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.run(ExecutionUtils.java:337) at org.eclipse.wb.core.model.JavaInfo.delete(JavaInfo.java:805) at org.eclipse.wb.internal.swing.model.component.ContainerInfo.setLayout(ContainerInfo.java:425) at org.eclipse.wb.internal.swing.model.component.ContainerInfo$5.runEx(ContainerInfo.java:205) at org.eclipse.wb.internal.core.model.util.ObjectInfoAction$1$1.run(ObjectInfoAction.java:70) at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.run(ExecutionUtils.java:331) at org.eclipse.wb.internal.core.model.util.ObjectInfoAction$1.run(ObjectInfoAction.java:67) at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runLog(ExecutionUtils.java:107) at org.eclipse.wb.internal.core.model.util.ObjectInfoAction.run(ObjectInfoAction.java:63) at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:581) at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:415) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4285) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1160) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4083) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3673) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:152) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) at org.eclipse.equinox.launcher.Main.run(Main.java:1481)

Full context stack trace: java.lang.IndexOutOfBoundsException: Index: 1, Length: 0 at org.apache.commons.lang3.ArrayUtils.remove(ArrayUtils.java:4938) at org.apache.commons.lang3.ArrayUtils.remove(ArrayUtils.java:5015) at org.eclipse.wb.internal.core.utils.ast.binding.DesignerMethodBinding.removeParameterType(DesignerMethodBinding.java:93) at org.eclipse.wb.core.model.association.InvocationSecondaryAssociation.canDelete(InvocationSecondaryAssociation.java:67) at org.eclipse.wb.core.model.JavaInfo.canDelete(JavaInfo.java:783) at org.eclipse.wb.core.model.JavaInfo.canDelete(JavaInfo.java:790) at org.eclipse.wb.core.model.JavaInfo.canDelete(JavaInfo.java:790) at org.eclipse.wb.internal.core.editor.actions.DeleteAction.getCommand(DeleteAction.java:104) at org.eclipse.wb.internal.core.editor.actions.CutAction.isEnabled(CutAction.java:80) at org.eclipse.wb.internal.core.editor.actions.CutAction$1.selectionChanged(CutAction.java:46) at org.eclipse.wb.internal.gef.core.AbstractEditPartViewer.lambda$0(AbstractEditPartViewer.java:169) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at org.eclipse.wb.internal.gef.core.AbstractEditPartViewer.fireSelectionChanged(AbstractEditPartViewer.java:169) at org.eclipse.gef.SelectionManager.fireSelectionChanged(SelectionManager.java:152) at org.eclipse.gef.SelectionManager.deselect(SelectionManager.java:127) at org.eclipse.gef.ui.parts.AbstractEditPartViewer.deselect(AbstractEditPartViewer.java:214) at org.eclipse.gef.editparts.AbstractEditPart.removeNotify(AbstractEditPart.java:949) at org.eclipse.gef.editparts.AbstractEditPart.lambda$14(AbstractEditPart.java:955) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at org.eclipse.gef.editparts.AbstractEditPart.removeNotify(AbstractEditPart.java:955) at org.eclipse.wb.gef.core.EditPart.removeChild(EditPart.java:210) at org.eclipse.wb.internal.gef.tree.RootEditPart.setContents(RootEditPart.java:89) at org.eclipse.wb.internal.gef.core.AbstractEditPartViewer.setInput(AbstractEditPartViewer.java:97) at org.eclipse.wb.internal.core.editor.structure.components.ComponentsTreePage.setInput(ComponentsTreePage.java:282) at org.eclipse.wb.internal.core.editor.structure.DesignComponentsComposite.setInput(DesignComponentsComposite.java:90) at org.eclipse.wb.internal.core.editor.DesignComposite.disposeDesign(DesignComposite.java:210) at org.eclipse.wb.internal.core.editor.JavaDesignComposite.disposeDesign(JavaDesignComposite.java:165) at org.eclipse.wb.internal.core.editor.DesignPage.disposeAll(DesignPage.java:353) at org.eclipse.wb.internal.core.editor.DesignPage.handleDesignException(DesignPage.java:660) at org.eclipse.wb.internal.core.editor.DesignPage$9.handleException(DesignPage.java:581) at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.run(ExecutionUtils.java:337) at org.eclipse.wb.core.model.JavaInfo.delete(JavaInfo.java:805) at org.eclipse.wb.internal.swing.model.component.ContainerInfo.setLayout(ContainerInfo.java:425) at org.eclipse.wb.internal.swing.model.component.ContainerInfo$5.runEx(ContainerInfo.java:205) at org.eclipse.wb.internal.core.model.util.ObjectInfoAction$1$1.run(ObjectInfoAction.java:70) at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.run(ExecutionUtils.java:331) at org.eclipse.wb.internal.core.model.util.ObjectInfoAction$1.run(ObjectInfoAction.java:67) at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runLog(ExecutionUtils.java:107) at org.eclipse.wb.internal.core.model.util.ObjectInfoAction.run(ObjectInfoAction.java:63) at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:581) at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:415) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4285) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1160) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4083) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3673) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:152) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605) at org.eclipse.equinox.launcher.Main.run(Main.java:1481) image image

d131412 commented 1 month ago

eclipse 2024-06

ptziegler commented 1 month ago

There were some issues when deleting elements, with the latest nightly builds, but those resulted in a different stack trace, so I don't believe there are responsible for what's going on here. That said, this is not something I can reproduce locally.

Out of interest, what Java version are you using in your project? I've only ever seen errors like this with Java 8, but never with Java 17/21.