Java JCombobox导致渲染问题

时间:2011-11-29 08:43:08

标签: java swing combobox render

您好,我有以下问题:

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添加到面板或任何地方。我只是在实例化它。 有人能告诉我为什么我需要调整框架大小以查看标签吗?我做错了吗?

2 个答案:

答案 0 :(得分:5)

你刚开始做setVisible(true)

您应该在添加所有组件后执行此操作。

答案 1 :(得分:1)

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

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

应该是

JComboBox combo = new JComboBox();

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


How to use comboBox