我已经看过其他JLabel线程,虽然类似,但有些似乎不适用于我正在经历的。首先,我想说我是Java的新手。接下来,我正在尝试遵循docs.oracle.com网站上的教程和演示。现在,我可以更新标签,当我输入东西到一个JTextField,并有一个ActionListener ...我有一个JLabel,不想更新
但我也有一个菜单,当我选择一个菜单项,该操作不想更新标签。
问题 -
- 我怎么对的两个JtextField和JMenuItems动作监听器?是否有两个ActionEvent方法,或者我使用一种方法并以某种方式识别每种类型的操作?
- 如果我在JTextField的ActionEvent和JMenuItem的ActionEvent中使用相同的基本代码,JLabel可以正确更新JTextField事件而不是JMenuItem事件。它们都使用messageField.setText属性。 JMenuItem操作可以做些什么来阻止setText?
我可以很容易地在这里复制代码,但此时它很像意大利面条,所以如果您想查看任何内容,请告诉我具体情况,然后发布。
我希望任何人都能提供帮助。
---编辑--- 哇!感谢所有的意见和建议。
1 - 我知道它必须是我的代码。正如我所提到的,我真的只是从演示和教程中拼凑出一些东西,并尝试在此过程中学习Java。我从来没有得到面向对象的窍门.... 2 - 我知道每个听众都在工作。我正在使用System.out.println进行验证,并在调试模式下检查这些标签以确定它们确实已更改。
3 - 我会看看这里发布的各种链接和代码,看看我能否弄清楚我的代码有什么问题。
真的,再次感谢!
---编辑---
这里是我本来在我的createAndShowGUI方法....
private static void createAndShowGUI()
{
JFrame frame = new JFrame("Create XML for Photo Gallery");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
CreateGalleryXML window = new CreateGalleryXML();
frame.setJMenuBar(window.createMenuBar());
frame.add(new CreateGalleryXML());
frame.pack();
frame.setVisible(true);
}
哇......这是为我做的。我几乎把所有东西都报废了,从你的代码开始,然后从那里开始建立起来。我仍然有点困惑,但我现在已经走得很远,看起来他们正在朝着正确的方向前进。有足够的核心,我可以看到我的消息标签在必要时被更新。回过头来看看我以前的代码,我认为这与我的createAndShowGUI方法无意中创建了多个框架有关?也许? – Osh 2012-04-04 03:49:53
我发布了我的原创createAndShowGUI,因为我认为这是我所有问题的根源。如果您有兴趣,那就是对我原文的编辑。 再次感谢您的所有帮助!我真的很感激它! – Osh 2012-04-04 04:03:24
@Osh:我已经编辑了我的帖子,看起来像你创建一个新的对象,如上所述是所有问题的真正原因。尝试纠正如上所述,请回复:-) – 2012-04-04 06:15:42