2

我试图在我的 JFrame 上放置一个 JComboBox,如果我单击显示组合的内容,但它没有显示在 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);
   }
}

欢迎任何解决方案!谢谢

4

2 回答 2

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);
}
于 2013-05-09T05:02:03.220 回答
0

我只是通过添加一个主要方法来测试您的代码。它可以工作。没有问题。

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

    }

}
于 2013-05-09T05:14:07.973 回答