-
Bug
-
Resolution: Fixed
-
P3
-
7
-
b36
-
x86
-
windows_7
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2223329 | 7u6 | Pavel Porvatov | P3 | Closed | Fixed | b06 |
FULL PRODUCT VERSION :
Java 7u4
ADDITIONAL OS VERSION INFORMATION :
Windows 7 64Bit
A DESCRIPTION OF THE PROBLEM :
The Synth property "ComboBox.popupInsets" is ignored in Java 7 - it works fine with Java 6.
REGRESSION. Last worked in version 6u31
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Execute the test case and click into the comboBox. The popup appears - the popup size is 10 pixels wider than the comboBox width and the popup overlaps the comboBox by 5 pixels.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The popup size should be 10 pixels wider than the comboBox width and the popup should overlap the comboBox by 5 pixels (negative y-offset)
ACTUAL -
The width is equal to the comboBox width and the popup does not overlap the comboBox.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.border.LineBorder;
import javax.swing.plaf.synth.SynthLookAndFeel;
public class SynthComboBoxPopupInsetsTest extends JFrame
{
private static String synthXml = "<synth>" +
" <style id=\"all\">" +
" <font name=\"Dialog\" size=\"12\"/>" +
" </style>" +
" <bind style=\"all\" type=\"REGION\" key=\".*\"/>" +
" <style id=\"arrowButton\">" +
" <property key=\"ArrowButton.size\" type=\"integer\" value=\"18\"/>" +
" </style>" +
" <bind style=\"arrowButton\" type=\"region\" key=\"ArrowButton\"/>" +
" <style id=\"comboBox\">" +
" <property key=\"ComboBox.popupInsets\" type=\"insets\" value=\"-5 -5 5 -5\"/>" +
" </style>" +
" <bind style=\"comboBox\" type=\"region\" key=\"ComboBox\"/>" +
"</synth>";
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable(){
public void run()
{
try
{
new SynthComboBoxPopupInsetsTest();
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
}
public SynthComboBoxPopupInsetsTest() throws Exception
{
InputStream is = new ByteArrayInputStream(synthXml.getBytes("UTF8"));
SynthLookAndFeel laf = new SynthLookAndFeel();
laf.load(is, SynthComboBoxPopupInsetsTest.class);
UIManager.setLookAndFeel(laf);
String[] data = {"Very Looooooooooooooooooooong Text Item 1", "Item 2"};
JComboBox combo = new JComboBox(data);
combo.setBorder(new LineBorder(Color.BLUE));
add(combo, BorderLayout.NORTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(new Dimension(400, 300));
setLocationRelativeTo(null);
setVisible(true);
}
}
---------- END SOURCE ----------
Java 7u4
ADDITIONAL OS VERSION INFORMATION :
Windows 7 64Bit
A DESCRIPTION OF THE PROBLEM :
The Synth property "ComboBox.popupInsets" is ignored in Java 7 - it works fine with Java 6.
REGRESSION. Last worked in version 6u31
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Execute the test case and click into the comboBox. The popup appears - the popup size is 10 pixels wider than the comboBox width and the popup overlaps the comboBox by 5 pixels.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The popup size should be 10 pixels wider than the comboBox width and the popup should overlap the comboBox by 5 pixels (negative y-offset)
ACTUAL -
The width is equal to the comboBox width and the popup does not overlap the comboBox.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.border.LineBorder;
import javax.swing.plaf.synth.SynthLookAndFeel;
public class SynthComboBoxPopupInsetsTest extends JFrame
{
private static String synthXml = "<synth>" +
" <style id=\"all\">" +
" <font name=\"Dialog\" size=\"12\"/>" +
" </style>" +
" <bind style=\"all\" type=\"REGION\" key=\".*\"/>" +
" <style id=\"arrowButton\">" +
" <property key=\"ArrowButton.size\" type=\"integer\" value=\"18\"/>" +
" </style>" +
" <bind style=\"arrowButton\" type=\"region\" key=\"ArrowButton\"/>" +
" <style id=\"comboBox\">" +
" <property key=\"ComboBox.popupInsets\" type=\"insets\" value=\"-5 -5 5 -5\"/>" +
" </style>" +
" <bind style=\"comboBox\" type=\"region\" key=\"ComboBox\"/>" +
"</synth>";
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable(){
public void run()
{
try
{
new SynthComboBoxPopupInsetsTest();
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
}
public SynthComboBoxPopupInsetsTest() throws Exception
{
InputStream is = new ByteArrayInputStream(synthXml.getBytes("UTF8"));
SynthLookAndFeel laf = new SynthLookAndFeel();
laf.load(is, SynthComboBoxPopupInsetsTest.class);
UIManager.setLookAndFeel(laf);
String[] data = {"Very Looooooooooooooooooooong Text Item 1", "Item 2"};
JComboBox combo = new JComboBox(data);
combo.setBorder(new LineBorder(Color.BLUE));
add(combo, BorderLayout.NORTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(new Dimension(400, 300));
setLocationRelativeTo(null);
setVisible(true);
}
}
---------- END SOURCE ----------
- backported by
-
JDK-2223329 Synth Property "ComboBox.popupInsets" is ignored
- Closed
- relates to
-
JDK-7160653 test/javax/swing/plaf/synth/7158712/bug7158712.java failed on Ubuntu
- Resolved
-
JDK-6605941 Nimbus L&F:Regression:PIT: Editable JComboBox Popup is 1 to 2 pixel wider than JComboBox textfield
- Closed
-
JDK-6591875 Nimbus Swing Look and Feel
- Closed