我创建了一个 jComboBox 但它占据了框架的整个宽度。如何固定宽度。
是 borderlayout 用于面板的框架和框布局。我在这里添加代码:
import javax.swing.*;
import java.awt.BorderLayout;
public class Window8 {
JFrame frame;
JPanel panel;
JComboBox combo;
public void go(){
String[] option = { "STUDENT", "TEACHER" };
combo.setPreferredSize(new Dimension(1,25));
combo = new JComboBox(option);
menu.setSelectedIndex(0);
frame = new JFrame("DELETION");
frame.setLocationRelativeTo(null);
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
panel = new JPanel();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
frame.getContentPane().add(BorderLayout.NORTH,panel);
panel.add(combo);
}
原文由 Suman.hassan95 发布,翻译遵循 CC BY-SA 4.0 许可协议
宽度由添加到组合框中的最大项目的宽度自动确定。您可以使用以下方法控制显示:
您还可以考虑使用 Combo Box Popup 来控制弹出窗口的大小。
编辑:
由于您添加了显示您正在使用 BoxLayout 的代码,因此您可以尝试以下操作:
或者你可以这样做:
阅读 Swing 教程中有关 使用布局管理 器的部分,了解这些建议的工作原理。