-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
5.0
-
x86
-
windows_xp
Name: js151677 Date: 06/14/2004
FULL PRODUCT VERSION :
java version "1.5.0-beta3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta3-b55)
Java HotSpot(TM) Client VM (build 1.5.0-beta3-b55, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [version 5.1.2600]
A DESCRIPTION OF THE PROBLEM :
Many panels using GridbagLayout crash during layout() whith java.lang.ArrayIndexOutOfBoundsException: 3 .
The same application or test case works well with JRE 1.4.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
The bug appears on first display of the panel (during layout).
See test code.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The Panel should display properly.
ACTUAL -
The panel is gray and is not drawn.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:1047)
at java.awt.GridBagLayout.getLayoutInfo(GridBagLayout.java:826)
at java.awt.GridBagLayout.ArrangeGrid(GridBagLayout.java:1439)
at java.awt.GridBagLayout.arrangeGrid(GridBagLayout.java:1399)
at java.awt.GridBagLayout.layoutContainer(GridBagLayout.java:722)
at java.awt.Container.layout(Container.java:1401)
at java.awt.Container.doLayout(Container.java:1390)
at java.awt.Container.validateTree(Container.java:1473)
at java.awt.Container.validateTree(Container.java:1480)
at java.awt.Container.validateTree(Container.java:1480)
at java.awt.Container.validateTree(Container.java:1480)
at java.awt.Container.validate(Container.java:1448)
at java.awt.Window.show(Window.java:507)
at java.awt.Component.show(Component.java:1300)
at java.awt.Component.setVisible(Component.java:1253)
at test.GridbagPanel.main(GridbagPanel.java:58)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package test;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
public class GridbagPanel extends JPanel {
public GridbagPanel() {
init();
}
private void init() {
GridBagLayout layout = new GridBagLayout();
this.setLayout(layout);
GridBagConstraints cstr=new GridBagConstraints();
cstr.weightx=0;
cstr.insets=new Insets(0,5,0,5);
String[] listData=new String[] { "item1" ,"item2", "item3" };
JList list1 = new JList(listData);
JList list2 = new JList(listData);
JList list3 = new JList(listData);
cstr.gridwidth=GridBagConstraints.RELATIVE;
this.add(new JLabel("Bench:"),cstr);
this.add(new JLabel("Population:"),cstr);
cstr.gridwidth=GridBagConstraints.REMAINDER;
this.add(new JLabel("Virtual User:"),cstr);
cstr.gridwidth=GridBagConstraints.RELATIVE;
this.add(list1,cstr);
this.add(list2,cstr);
cstr.gridwidth=GridBagConstraints.REMAINDER;
this.add(list3,cstr);
}
public static void main(String[] args) {
JFrame f=new JFrame();
f.setContentPane(new GridbagPanel());
f.setSize(400,300);
f.setVisible(true);
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Not found.
Release Regression From : tiger-beta2
The above release value was the last known release where this
bug was known to work. Since then there has been a regression.
(Incident Review ID: 277299)
======================================================================
- duplicates
-
JDK-5055696 REGRESSION: GridBagLayout throws ArrayIndexOutOfBoundsExceptions
-
- Resolved
-