0

EDIT: Moving the temp panel out of my constructor solved the initialization issue, regardless trying to add anything to the group still throws exceptions.

I have a button in a tab of a tabbed jframe that sets the default text and buttons of the window to invisble, creates some varibles, and then creates a temp. panel to hold the text and textfield for the input I wish to receive. The submit button asside, any idea why when this button is pressed I get a massive exception error?

public void actionPerformed(ActionEvent e) {

    text2.setVisible(false);
    sp2.setVisible(false);
    String date;
    String name; 
    int id;
    int people;
    JLabel text = new JLabel("please select a date(mm/dd/yyyy)");
    JPanel temp = new JPanel();
    JTextField input = new JTextField(10);


    //Creates a new jpanel with a group layout.
    GroupLayout layout = new GroupLayout(temp);
    temp.setLayout(layout);
    layout.setAutoCreateGaps(true);
    GroupLayout.SequentialGroup hGroup = layout.createSequentialGroup();
    hGroup.addGroup(layout.createParallelGroup()
                          .addComponent(text).addComponent(input));

    p2.add(temp);

}

errors

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: javax.swing.JLabel[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,horizontalAlignment=LEADING,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=please select a date(mm/dd/yyyy),verticalAlignment=CENTER,verticalTextPosition=CENTER] is not attached to a horizontal group
    at javax.swing.GroupLayout.checkComponents(Unknown Source)
    at javax.swing.GroupLayout.prepare(Unknown Source)
    at javax.swing.GroupLayout.layoutContainer(Unknown Source)
    at java.awt.Container.layout(Unknown Source)
    at java.awt.Container.doLayout(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validate(Unknown Source)
    at javax.swing.RepaintManager$2.run(Unknown Source)
    at javax.swing.RepaintManager$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
    at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: javax.swing.JLabel[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,horizontalAlignment=LEADING,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=please select a date(mm/dd/yyyy),verticalAlignment=CENTER,verticalTextPosition=CENTER] is not attached to a horizontal group
    at javax.swing.GroupLayout.checkComponents(Unknown Source)
    at javax.swing.GroupLayout.prepare(Unknown Source)
    at javax.swing.GroupLayout.layoutContainer(Unknown Source)
    at java.awt.Container.layout(Unknown Source)
    at java.awt.Container.doLayout(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validateTree(Unknown Source)
    at java.awt.Container.validate(Unknown Source)
    at javax.swing.plaf.basic.BasicTabbedPaneUI.ensureCurrentLayout(Unknown Source)
    at javax.swing.plaf.basic.BasicTabbedPaneUI.getTabBounds(Unknown Source)
    at javax.swing.plaf.basic.BasicTabbedPaneUI.repaintTab(Unknown Source)
    at javax.swing.plaf.basic.BasicTabbedPaneUI.setFocusIndex(Unknown Source)
    at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.focusGained(Unknown Source)
    at java.awt.Component.processFocusEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
  • I think that you're adding the JLabel to a component which is not fully initialized. Try to avoid chaining and execute only one command at line to see, where exactly does it fail. I'm talking about this: `createParallelGroup().addComponent(text)` – NeplatnyUdaj Jun 11 '13 at 12:31
  • I think that is clear, JComponent must be added to both groups, don't to use GroupLayout for [handy coding without (see disclaimer in official tutorial == SpringLayout) strong background](http://stackoverflow.com/questions/16233512/nullpointerexception-on-plaf-change-to-motif) made by @Andrew Thompson – mKorbel Jun 11 '13 at 12:33
  • I have determined that GroupLayout layout = new GroupLayout(temp); causes some sort of AWT exception error and adding the text causes the illegal state exception if that helps. – user2385916 Jun 11 '13 at 12:38
  • @user2385916 how did you resolve it? – Volatil3 Feb 10 '14 at 07:59

0 Answers0