我有点问题。 我有一些JQueryboBox到JDialog,但它们不会出现......而且我可以选择它们(见图)。
这是我的代码:
for(int i = 0; i<11; i++)
{
JComboBox jC = new JComboBox(posteList);
jC.setBounds(300, posY, 100, 20);
jC.setSelectedIndex(0);
this.add(jC);
posY += 30;
}
你有想法解决这个问题吗? 谢谢!
答案 0 :(得分:2)
您不应该致电setBounds()
,您需要使用布局来管理组件位置
答案 1 :(得分:0)
手动设置边界后,调用JComboBox的doLayout()
方法。然后组合框将正确显示。 E.g:
JPanel panel = new JPanel();
panel.setLayout(null);
String[] items = {"hello","goodbye","etc"};
JComboBox cbox = new JComboBox(items);
panel.add(cbox);
cbox.setBounds(0, 0, 100, 20);
cbox.doLayout(); // force the JComboBox internals to use your bounds
答案 2 :(得分:0)
我找到了解决问题的方法。如果您正在为GlassPane使用JPanel,则在玻璃窗格上使用JInternalFrame。如果您尝试绘制JFileChooser或JCombobox,有时弹出窗口不会向下滚动(我的意思是它向下滚动但在JPanel下滚动)。 Here是来自Oracle的bug报告: 当我的同事发现这个错误报告时,我的眼睛闪闪发亮。所以我将bug报告的解决方案实现到JFrame,然后弹出窗口工作正常。步骤如下:
frame.getRootPane().setGlassPane(panel);
comboBox.setLightWeightPopupEnabled(true)
我希望这也是你问题的解决方案。它对我有用。