我将 [OK] 和 [Cancel] 按钮水平放置在 Box(具有 BoxLayout)中。后来我将此框添加到 JDialog 的内容窗格中的 BorderLayout.PAGE_END 中。这在 Windows 中完美运行,因此 [OK] 位于 [Cancel] 的左侧 - 就像我添加的一样。
当我在 Linux 中测试时,按钮的位置与 Windows 相同 - [确定] 在 [取消] 的左侧。这再次来自代码。
但是,在 Linux (Ubuntu) 中,按钮的默认位置是 [OK] 左侧的 [Cancel]。这与我的代码和按钮位置形成鲜明对比。
所以,我的问题是:Java 是否有某种常量——比如 OS_PLACEMENT,它可以设置在某个地方,使 [Cancel] 按钮出现在 Linux 中 [OK] 的左侧?我问这个是因为我知道 Java 支持 RTL 和 LTR 布局的常量。因此,我认为,可能有一些与这种放置相关的常数。
我想提一下,我确实将 Swing 应用程序的 L&F 设置为 System L&F。以下是我在 main() 中的第一行
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());