Java JComboBox首次运行后未显示下拉箭头
我在google上尝试了很多寻找帮助,但是我找不到任何与我的问题相关的东西。我面临着一个严重的问题。我在java程序中使用了一个JComboBox,它只在我第一次运行程序时才显示,但在第一次运行程序后,它没有显示下拉箭头。我没有使用任何removeAll();或任何形式的删除();方法。 任何帮助都将不胜感激,因为我已经看到很多人正遭受着同样的问题{ JFrame框架; JLabel选择; JComboBox子系统; 字体f1; JTextField nameText; 按回车键Java JComboBox首次运行后未显示下拉箭头,java,swing,jcombobox,Java,Swing,Jcombobox,我在google上尝试了很多寻找帮助,但是我找不到任何与我的问题相关的东西。我面临着一个严重的问题。我在java程序中使用了一个JComboBox,它只在我第一次运行程序时才显示,但在第一次运行程序后,它没有显示下拉箭头。我没有使用任何removeAll();或任何形式的删除();方法。 任何帮助都将不胜感激,因为我已经看到很多人正遭受着同样的问题{ JFrame框架; JLabel选择; JComboBox子系统; 字体f1; JTextField nameText; 按回车键 public
public GPACalculator() {
frame = new JFrame("GPA Calculator---COMSATS Institute of Information Technology");
frame.setSize(720, 640);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon head = new ImageIcon("images/Header.jpg");
JLabel header = new JLabel(head);
header.setSize(720,90);
header.setLocation(0, 0);
ImageIcon log = new ImageIcon("images/Logo.png");
JLabel logo = new JLabel(log);
logo.setSize(300,300);
logo.setLocation(480, 400);
selection = new JLabel("Select Number Of Subjects And Press Enter");
f1 = new Font("Gabriola",Font.BOLD,30);
selection.setFont(f1);
selection.setLocation(10, 150);
selection.setSize(800, 50);
String[] subject = {"1","2","3","4","5"};
sub = new JComboBox<String>(subject);
sub.setBounds(10, 200, 300, 50);
Container c = frame.getContentPane();
c.setLayout(null);
c.setBackground(new Color(176,196,222));
c.add(header,BorderLayout.CENTER);
c.add(logo);
c.add(selection);
c.add(sub);
}
public static void main(String[] args){
new GPACalculator();
}
public-GPACalculator(){
frame=新JFrame(“GPA计算器——通信卫星信息技术研究所”);
帧设置大小(720640);
frame.setLocationRelativeTo(空);
frame.setresizeable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon head=新的ImageIcon(“images/Header.jpg”);
JLabel头=新的JLabel(头);
收割台.设置尺寸(720,90);
header.setLocation(0,0);
ImageIcon log=新的ImageIcon(“images/Logo.png”);
JLabel徽标=新的JLabel(日志);
logo.setSize(300300);
logo.setLocation(480400);
选择=新建JLabel(“选择受试者数量并按Enter键”);
f1=新字体(“Gabriola”,字体粗体,30);
selection.setFont(f1);
选择。设置位置(10150);
选择。设置大小(800,50);
字符串[]主题={“1”、“2”、“3”、“4”、“5”};
sub=新JComboBox(主题);
次级立根(10、200、300、50);
容器c=frame.getContentPane();
c、 setLayout(空);
c、 挫折背景(新颜色(176196222));
c、 添加(标题、边框布局、中心);
c、 添加(徽标);
c、 添加(选择);
c、 添加(子项);
}
公共静态void main(字符串[]args){
新的GPACalculator();
}
}
`这是你的问题:
c.setLayout(null);
避免使用空布局,而是使用适当的布局管理器,您的代码可能会运行良好。如何使用适当的布局管理器,因为我是java新手。@ChaudaryUsman,请参阅本教程:。非常感谢。这是我在任何在线论坛上提出的第一个问题,这段经历让我感到非常惊讶:-D@LuxxMiner使用FlowLayout()第一次工作,但在第一次运行后,又出现了同样的问题。@ChaudaryUsman尝试调用
frame.setVisible(true)代码>添加所有组件后(即仅在构造函数末尾)