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

Posted

技术标签:

【中文标题】Java Swing:在 JTabbedPane 的未选择面板上更改隐藏的 UI 元素时发出声音【英文标题】:Java Swing: Audible sound when altering hidden UI element on unselected panel of JTabbedPane 【发布时间】:2011-09-07 00:19:48 【问题描述】:

我是 Java 新手,所以我很难自己找到答案。我正在编写一个 Java 应用程序,并且正在使用 Swing。我不确定它是否相关,但我在 Mac 上使用 Netbeans 作为我的 IDE。

我一直遇到这个问题,每当我的 Java 程序启动时都会发出声音。我将其追踪到对 JTextField 元素的 setText 方法调用,该元素恰好位于 JTabbedPane 的未选择面板上。如果我将其注释掉,则不会出现声音。

我想要这样做的原因是为了选择该面板时,它将出现正确的信息,直到程序启动之前我不知道。

有人知道为什么会发生这种情况以及如何禁用它吗?

谢谢!

【问题讨论】:

您的代码是否在任何地方引用或任何声音文件?你能识别声音吗?它是 Mac 的内置声音之一吗? 啊。愚蠢的我。这与隐藏无关。我是从事件分派以外的线程中轻率地执行此操作的。我不知道为什么它会发出哔哔声,但是当我正确使用 invokeLater 时,声音就消失了。 总是令人惊讶,哪些效果不在 EDT 上会产生 :-) 【参考方案1】:

提问者的评论似乎应该是一个答案,所以这里是:

这与隐藏无关。我是从事件分派以外的线程中轻率地执行此操作的。我不知道为什么它会发出哔哔声,但是当我正确使用invokeLater 时,声音就消失了。

【讨论】:

以上是关于Java Swing:在 JTabbedPane 的未选择面板上更改隐藏的 UI 元素时发出声音的主要内容,如果未能解决你的问题,请参考以下文章

从 Java Swing 组件中检索对象

JTabbedPane 实现鼠标改变高度

Java——其他容器

在 java swing 组件上绘制边框

Java Swing:将选项卡添加到 JPanels

使用外观和感觉Nimbus将背景/前景更改为JTabbedPane和表头的缺陷