【发布时间】:2008-10-28 11:03:36
【问题描述】:
我是 Swing 新手。
是否存在与在 Mac 上自定义绘制操作相关的任何具体问题?
我在 Windows 上使用 NetBeans + Swing 开发了一个示例应用程序。它工作正常。但是如果我在 Mac 上运行相同的应用程序,面板的按钮标签不会出现在屏幕上。只有在特定组件上执行鼠标悬停操作时,它才会显示在屏幕上。
谁能帮我解决这个问题?
提前致谢。 萨基哈里
【问题讨论】:
我是 Swing 新手。
是否存在与在 Mac 上自定义绘制操作相关的任何具体问题?
我在 Windows 上使用 NetBeans + Swing 开发了一个示例应用程序。它工作正常。但是如果我在 Mac 上运行相同的应用程序,面板的按钮标签不会出现在屏幕上。只有在特定组件上执行鼠标悬停操作时,它才会显示在屏幕上。
谁能帮我解决这个问题?
提前致谢。 萨基哈里
【问题讨论】:
由于 Swing 自己绘制了所有 UI,它并没有真正受到 Mac OS 的影响。不过也有例外。如果您允许 Java 使用原生菜单,该菜单的行为将与任何其他 Swing 菜单一样,但实际上它被转换为原生菜单功能(因此它将显示在屏幕顶部并表现得像原生 Mac OS X 菜单。 .. 作为程序员,您无需关心,但对于讨厌菜单出现在其他地方的 Mac 用户来说非常棒)。
我猜您的问题可能是其他问题,但如果我没有可使用的代码,这很难猜到。你能把问题分解成一个超最小的测试用例吗?例如。你能画一个JFrame,在那里添加一个你的自定义按钮,显示有问题的行为,并使用尽可能多的代码来绘制这个最小的UI并暴露问题吗?如果您在此处发布此代码,我会仔细研究它并尝试找出导致问题的原因以及如何解决它(我是一名毕业的 Java 程序员,但我也有多年的 Mac OS X 开发经验;所以这是我应该非常了解的两个知识领域,但我通常不会将它们结合起来,因为我不使用 Java 为 Mac OS X 开发)。
【讨论】: