如何改变JComboBox的高度?

时间:2015-02-20 13:03:17

标签: java swing combobox size jcombobox

我有一个扩展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);
}

我有什么:

enter image description here

我想要的是什么:

enter image description here

1 个答案:

答案 0 :(得分:1)

我的解决方案是方法setMaximumSize(new Dimension(150, 25))。在BoxLayout组件中添加了最大尺寸,此方法可帮助我更改最大尺寸。