JComboBox未显示

时间:2013-05-09 04:59:24

标签: java swing jframe jcombobox

我正在尝试将JComboBox放在我的JFrame上,如果我点击显示组合的内容,但它没有显示在JFrame上。

我已经尝试过:.setVisible(true),. setEnabled(true)等。

这是我的代码:

public class tryCode {
  private final JComboBox vehicleTypeBox = new JComboBox(new String[] {"HELLO WORLD", "OLA K ASE"});
  private JFrame frame;

  public tryCode() {
        frame = new JFrame("");
        frame.setSize(new Dimension(300, 300));
        frame.setLayout(null);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

        showComboBox();
   }

   public void showComboBox() {
        vehicleTypeBox.setBounds(10,80,100,30);
        vehicleTypeBox.setSelectedIndex(0);
        frame.add(vehicleTypeBox);
   }
}

欢迎任何解决方案!感谢

2 个答案:

答案 0 :(得分:2)

您永远不会在任何地方致电showComboBox()。如果它应该在启动时出现,你应该在构造函数中调用它。

public tryCode() 
{
    frame = new JFrame("");
    frame.setSize(new Dimension(300, 300));
    frame.setLayout(new FlowLayout()); // do not use null!
    frame.setResizable(false);
    frame.setLocationRelativeTo(null);
    showComboBox();
    frame.setVisible(true);
}

答案 1 :(得分:0)

我只是通过添加一个main方法测试你的代码。它工作。没有问题。

import java.awt.Dimension;

import javax.swing.JComboBox;
import javax.swing.JFrame;

public class TryCode {
  private final JComboBox vehicleTypeBox = new JComboBox(new String[] {"HELLO WORLD", "OLA K ASE"});
  private JFrame frame;

  public TryCode() {
        frame = new JFrame("");
        frame.setSize(new Dimension(300, 300));
        frame.setLayout(null);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

        showComboBox();
   }

   public void showComboBox() {
        vehicleTypeBox.setBounds(10,80,100,30);
        vehicleTypeBox.setSelectedIndex(0);
        frame.add(vehicleTypeBox);
   }



    /**
     * @param args
     */
    public static void main(String[] args) {
    TryCode t=new TryCode();

    }

}