【问题标题】:Java JCombobox causes rendering problemsJava JCombobox 导致渲染问题
【发布时间】:2011-11-29 08:43:07
【问题描述】:

您好,我有以下问题:

public class TestCombo extends JFrame{

    public TestCombo() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(200,200);
        setVisible(true);

        setLayout(new BorderLayout());
        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(2,4));

        JLabel l1 = new JLabel("test1");
        JLabel l2 = new JLabel("test2");

        panel.add(l1);
        panel.add(l2);

//      JComboBox<String> combo = new JComboBox<String>();// <-- uncomment this for the problem

        this.add(panel, BorderLayout.NORTH);
    }

    public static void main(String[] args) {
        new TestCombo();
    }

}

如您所见,我正在做一个非常简单的示例。如果我取消注释标记的部分,则不会显示标签项。如果我调整窗口大小,它们会再次可见。这里奇怪的是,我什至没有将combo 添加到面板或任何地方。我只是在实例化它。 有人能告诉我为什么我需要调整框架大小才能看到标签吗?我做错了吗?

【问题讨论】:

    标签: java swing combobox render


    【解决方案1】:

    你在一开始就在做setVisible(true)

    你应该在添加所有组件之后再做。

    【讨论】:

      【解决方案2】:

      我认为这不是 JComboBox 的有效语法

      JComboBox<String> combo = new JComboBox<String>();
      

      应该是

      JComboBox combo = new JComboBox();
      

      setVisible(true); 也应该在this.add(panel, BorderLayout.NORTH); 之后。


      How to use comboBox

      【讨论】:

      • 我的 Eclipse 说它是有效的 :)。据我所知,您可以使用通用组合框
      • @Aleks:奇怪。它对我身边的日食无效。可能是您使用不同的 java 配置来编译类。
      • 我认为 JComboBox 在 java7 中变得通用
      • 可能就是这样。我正在使用 java 7
      猜你喜欢
      • 2012-07-08
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2020-11-27
      • 1970-01-01
      • 2023-03-02
      • 1970-01-01
      • 2012-09-04
      相关资源
      最近更新 更多