如何更改 JComboBox 的高度?
How to change the height of a JComboBox?
我有一个 class 扩展 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);
}
我有:
我想要的:
我的解决方法是setMaximumSize(new Dimension(150, 25))
。在 BoxLayout
中添加了最大尺寸的组件,此方法帮助我更改了最大尺寸。
我有一个 class 扩展 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);
}
我有:
我想要的:
我的解决方法是setMaximumSize(new Dimension(150, 25))
。在 BoxLayout
中添加了最大尺寸的组件,此方法帮助我更改了最大尺寸。