java - JComboBox 首次运行后不显示下拉箭头

标签 java swing jcombobox

我已经尝试了很多在谷歌上寻找帮助,但我找不到与我的问题相关的任何内容。我面临着一个严重的问题。我在我的java程序中使用JComboBox,它仅在我第一次运行程序时显示时间但第一次之后它没有显示下拉箭头。我没有使用任何removeAll();或任何类型的remove();方法。 任何帮助将不胜感激,因为我看到很多人都遇到同样的问题。`class GPACalculator{ JFrame框架; J标签选择; JComboBox 子; 字体f1; JTextField 名称文本; JButton输入;

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

} `

最佳答案

这是你的问题:

c.setLayout(null);

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

关于java - JComboBox 首次运行后不显示下拉箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34049781/

相关文章:

java - spring jpa - 如何持久传递双向关系

java - 如何使用小程序同时播放音频文件和显示图像?

java - 如何仅在 JTable 中的特定单元格中设置 JComboBox

java - 如何在JTable的单元格中实现自动完成功能?

奇怪的Java应用程序绘图

java - 在 Android 中录制声音时出错

java - 无法直接在 JFrame 上绘画

java - 使用值来触发 Jcombobox Action 监听器而不是 getselectedindex?

c# - “标准化”概率数组

Java 类垄断游戏