Java Swing:在未选中的JTabbedPane面板上更改隐藏UI元素时发出声音

3
我刚开始学习Java,自己很难找到答案。我正在编写一个使用Swing的Java应用程序。不确定是否相关,我在Mac上使用Netbeans作为我的IDE。
当我启动Java程序时,会发出可听的声音。我追踪到是由于对JTabbedPane上未选中面板的JTextField元素调用setText方法引起的。如果我注释掉它,就不会发出声音。
我想这样做是因为当选择该面板时,它将显示正确的信息,而我在程序启动之前不知道这些信息。
有人知道为什么会发生这种情况以及如何禁用它吗?
谢谢!

你的代码中是否引用了任何声音文件?你能识别这个声音吗?它是来自 Mac 内置的声音之一吗? - jefflunt
3
啊,我真是太蠢了。这与隐藏无关。我不经思考地在事件分发之外的线程中这么做。我不确定它为什么会哔哔叫,但当我正确使用invokeLater时,声音就消失了。 - Timothy Miller
2
总是令人惊讶的,不在EDT上产生的效果可以产生 :-) - kleopatra
1个回答

1

提问者的评论看起来像是一个答案,所以我来回答一下:

这与被隐藏无关。我不经意地在一个非事件分发线程中执行了这个操作。我不确定为什么会响,但当我正确使用invokeLater时,声音就消失了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接