【问题标题】:JComboBox not displayedJComboBox 不显示
【发布时间】:2013-05-09 04:59:23
【问题描述】:

我正在尝试在我的 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);
   }
}

欢迎任何解决方案!谢谢

【问题讨论】:

  • 你在哪里调用了 showComboBox()
  • 1) 您永远不会将组合框添加到框架中。解决此问题时,请确保在使框架可见之前将组合框添加到框架中。 2)不要使用空布局!!! 3) 遵循 Java 命名约定。类名以大写字符开头。
  • 对不起,缺少部分代码,在构造函数中被调用:]
  • 如需尽快获得更好的帮助,请发帖SSCCE
  • 我没有看到您在哪里更改了代码以遵循我们提出的建议。还有,代码怎么执行,没有main()方法?

标签: java swing jframe jcombobox


【解决方案1】:

你永远不会在任何地方打电话给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);
}

【讨论】:

【解决方案2】:

我只是通过添加一个 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();

    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-14
    • 2012-06-05
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2017-01-02
    相关资源
    最近更新 更多