我遇到过一个问题,当我想在标签上使用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);
这是我放置这些组件的顺序。我还按顺序将它们添加到面板中。
答案 0 :(得分:0)
您的标签lesu1
未放置在任何组件上,例如面板,按钮等。
将标签添加到某个组件。
对于前。
menu.add(lesu1);
答案 1 :(得分:0)
我发现了问题所在。 我很困惑,并使用构造函数来代替方法。这解决了它。
正如我所说:我是Java的初学者。