Java JComboBox不';不要出现在窗口中

Java JComboBox不';不要出现在窗口中,java,swing,layout,jcombobox,Java,Swing,Layout,Jcombobox,我做了所有的事情,但是JComboBox没有出现在窗口中。有什么问题?我如何解决?无法上载完整代码。问题就在这里,没有它,一切都正常工作。有人能帮我吗?以下代码适用于我: private String stringComboBoxElement[] = {"Roll", "SetCode", "Answers", "Others"}; contentPane = new JPanel(); contentPane.setLayout(null); comboBoxfields = new

我做了所有的事情,但是JComboBox没有出现在窗口中。有什么问题?我如何解决?无法上载完整代码。问题就在这里,没有它,一切都正常工作。有人能帮我吗?

以下代码适用于我:

private String stringComboBoxElement[] = {"Roll", "SetCode", "Answers", "Others"};

contentPane = new JPanel();

contentPane.setLayout(null);

comboBoxfields = new JComboBox(stringComboBoxElement);

    comboBoxfields.setBounds(180, 50, 120, 30);
    comboBoxfields.setFont(new Font("sansserif", Font.TRUETYPE_FONT | Font.PLAIN, 15));
    comboBoxfields.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));

    if(stringComboBoxElement.length > 5)
        comboBoxfields.setMaximumRowCount(5);
    else
        comboBoxfields.setMaximumRowCount(stringComboBoxElement.length);

    comboBoxfields.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent e) {
            if(e.getStateChange() == ItemEvent.SELECTED)
                textFieldName.setText((String) e.getItem());
        }
    });
    contentPane.add(comboBoxfields);

正如@nachokk所提到的,您需要使用带有null布局的绝对位置将
contentPane
添加到
JFrame

第一个错误)中
contentPane.setLayout(null)不鼓励这样做,应用程序必须以不同的分辨率工作,2)您没有在任何框架中添加
contentPane
,Java GUI可能必须在多种平台、不同的屏幕分辨率和使用不同的PLAF上工作。因此,它们不利于部件的精确放置。要为一个健壮的GUI组织组件,可以使用布局管理器,或者与.window.setSize(500500)的布局填充和边框一起使用应该是
window.pack()。如果GUI中需要更多的空白,请将其包装为
EmptyBorder
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class Example {
    private static final String COMBO_BOX_ELEMENTS[] = {"Roll", "SetCode", "Answers", "Others"};

    public static void main(String[] args) {
      JFrame window = new JFrame("Example");

      JPanel contentPane = new JPanel();

      contentPane.setLayout(new GridBagLayout());

      final JComboBox comboBoxfields = new JComboBox(COMBO_BOX_ELEMENTS);

      comboBoxfields.setFont(new Font("sansserif", Font.TRUETYPE_FONT | Font.PLAIN, 15));
      comboBoxfields.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));

      comboBoxfields.setMaximumRowCount(5);

      comboBoxfields.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent actionEvent) {
                System.out.println(
                    "'"  + comboBoxfields.getSelectedItem().toString() + "'"
                    + " was selected");
          }
      });

      contentPane.add(comboBoxfields);

      window.add(contentPane); // I guess this is what you need to do.
      window.setSize(500, 500);
      window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      window.setVisible(true);
    }
}