setText()方法不起作用(Java)

时间:2014-07-10 12:33:42

标签: java swing

我遇到过一个问题,当我想在标签上使用setText()方法时,它不会改变标签的文本。我已经搜索了很长时间,但无法找到任何解决方案。 以下是代码示例:

class OptionsListener implements ItemListener{
    public void itemStateChanged(ItemEvent e) {
        if (optionsI1.isSelected()){
            lesu1.setText("8:30");
        }
    }
}

我将我使用的所有组件显示在另一个类中,一切都正确显示。

我尝试通过这样的方式来简化代码:

class OptionsListener implements ItemListener{
    public void itemStateChanged(ItemEvent e) {
        if (optionsI1.isSelected()){
            System.out.println("bla");
        }
    }

这似乎工作正常并显示消息" bla"。 我在这里缺少什么?

声明我的元素(仅按照我编码的顺序显示标签和菜单):

    // labels //
    lesu1 = new JLabel("1");
    lesu1.setBounds(8, 39, 20, 22);

    lesu2 = new JLabel("2");
    lesu2.setBounds(8, 69, 20, 22);

    lesu3 = new JLabel("3");
    lesu3.setBounds(8, 99, 20, 22);

    lesu4 = new JLabel("4");
    lesu4.setBounds(8, 129, 20, 22);

    lesu5 = new JLabel("5");
    lesu5.setBounds(8, 159, 20, 22);

    lesu6 = new JLabel("6");
    lesu6.setBounds(8, 189, 20, 22);

    lesu7 = new JLabel("7");
    lesu7.setBounds(8, 219, 20, 22);

    lesu8 = new JLabel("8");
    lesu8.setBounds(8, 249, 20, 22);

    dag = new JLabel("07/08");
    dag.setBounds(5, 15, 36, 13);

    // menubar //
    menu = new JMenuBar();

    options = new JMenu("Opties");

    optionsI1 = new JCheckBoxMenuItem("Weergeef de lesuren in uren");
    optionsI1.addItemListener(new OptionsListener());

    menu.add(options);

    options.add(optionsI1);

这是我放置这些组件的顺序。我还按顺序将它们添加到面板中。

2 个答案:

答案 0 :(得分:0)

您的标签lesu1未放置在任何组件上,例如面板,按钮等。

将标签添加到某个组件。

对于前。

menu.add(lesu1);

答案 1 :(得分:0)

我发现了问题所在。 我很困惑,并使用构造函数来代替方法。这解决了它。

正如我所说:我是Java的初学者。