我有一个扩展JFrame的类,我想在面板上添加一个JComboBox。当我这样做时,JComboBox的大小非常大。我想改变它的大小,但不知道如何做到这一点。 .setSize()
和.setPreferredSize()
无效。 JFrame的布局必须是GridLayout。
public CountryController() {
setLayout(new GridLayout(1, 3));
panel1.setPreferredSize(new Dimension(180, 600));
//panel1.setLayout(new FlowLayout(FlowLayout.LEFT));
panel1.setLayout(new BoxLayout(panel1, BoxLayout.Y_AXIS));
panel1.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, Color.BLACK));
panel1.add(new JLabel("Some text:"));
//list countries
JScrollPane scrollPane = new JScrollPane(jDropDown);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jDropDown.setOpaque(true);
jDropDown.setBorder(BorderFactory.createMatteBorder(0, 1, 0, 1, Color.BLACK));
jDropDown.setBackground(Color.LIGHT_GRAY);
panel1.add(scrollPane);
getContentPane().add(panel1);
}
我有什么:
我想要的是什么:
答案 0 :(得分:1)
我的解决方案是方法setMaximumSize(new Dimension(150, 25))
。在BoxLayout
组件中添加了最大尺寸,此方法可帮助我更改最大尺寸。