If you create a GridLayout but then only add one component to it, with a horizontal span of 2, you see this exception:
java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
at com.googlecode.lanterna.gui2.GridLayout.getPreferredColumnWidths(GridLayout.java:543)
at com.googlecode.lanterna.gui2.GridLayout.getPreferredSize(GridLayout.java:387)
at com.googlecode.lanterna.gui2.Panel$DefaultPanelRenderer.getPreferredSize(Panel.java:241)
at com.googlecode.lanterna.gui2.Panel$DefaultPanelRenderer.getPreferredSize(Panel.java:223)
at com.googlecode.lanterna.gui2.AbstractComponent.calculatePreferredSize(AbstractComponent.java:194)
at com.googlecode.lanterna.gui2.Panel.calculatePreferredSize(Panel.java:275)
at com.googlecode.lanterna.gui2.AbstractComponent.getPreferredSize(AbstractComponent.java:178)
at com.googlecode.lanterna.gui2.AbstractBasePane$ContentHolder$1.getPreferredSize(AbstractBasePane.java:433)
at com.googlecode.lanterna.gui2.AbstractBasePane$ContentHolder$1.getPreferredSize(AbstractBasePane.java:426)
at com.googlecode.lanterna.gui2.AbstractComponent.calculatePreferredSize(AbstractComponent.java:194)
at com.googlecode.lanterna.gui2.AbstractComponent.getPreferredSize(AbstractComponent.java:178)
at com.googlecode.lanterna.gui2.AbstractWindow.getPreferredSize(AbstractWindow.java:163)
at com.googlecode.lanterna.gui2.DefaultWindowManager.prepareWindow(DefaultWindowManager.java:162)
at com.googlecode.lanterna.gui2.DefaultWindowManager.prepareWindows(DefaultWindowManager.java:140)
at com.googlecode.lanterna.gui2.MultiWindowTextGUI.drawGUI(MultiWindowTextGUI.java:243)
at com.googlecode.lanterna.gui2.AbstractTextGUI.updateScreen(AbstractTextGUI.java:120)
at com.googlecode.lanterna.gui2.MultiWindowTextGUI.updateScreen(MultiWindowTextGUI.java:223)
at com.googlecode.lanterna.gui2.AbstractTextGUIThread.processEventsAndUpdate(AbstractTextGUIThread.java:85)
at com.googlecode.lanterna.gui2.SeparateTextGUIThread.mainGUILoop(SeparateTextGUIThread.java:114)
at com.googlecode.lanterna.gui2.SeparateTextGUIThread.access$000(SeparateTextGUIThread.java:44)
at com.googlecode.lanterna.gui2.SeparateTextGUIThread$1.run(SeparateTextGUIThread.java:55)
If you create a
GridLayout
but then only add one component to it, with a horizontal span of 2, you see this exception: