提问者:小点点

JComboBox首次运行后未显示下拉箭头[重复]


我已经尝试了很多次在谷歌上寻找帮助,但我找不到任何与我的问题相关的东西。我面临着一个严重的问题。我在我的java程序中使用了一个JComboBox,它只在我第一次运行该程序时显示,但在第一次运行后它不显示下拉箭头。我没有使用任何RemoveAll();或任何类型的删除();方法。任何帮助都将不胜感激,因为我已经看到很多人都在遭受同样的问题。类GPACalculator{JFrame frame;JLabel选择;JComboBox sub;Font f1;JTextField nameText;JButton enter;

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();
}

} `


共1个答案

匿名用户

这是你的问题:

c.setLayout(null);

避免使用空布局,而是使用适当的布局管理器,您的代码可能会运行良好。