JButton 助记符下划线仅在 ALT 键上

JButton mnemonic underline only on ALT key

        JFrame f = new MnemoticTest();          
        JButton b=new JButton("bat");

        b.setMnemonic(KeyEvent.VK_B);
        f.add(b);
        f.setSize(400, 700);
        f.setVisible(true);

你好,我得到了上面的代码。加载时,'b' 已经带有下划线。 我希望 'b' 仅在单击 alt 时才显示下划线。

加载时它应该不显示下划线,当我点击 alt 时,b 应该显示为带下划线

我们该怎么做?

据我所知,此行为仅受 Windows L&F 支持。因此,您需要将 L&F 更改为 Windows L&F。

如果您在 Windows 计算机上工作,您可以执行以下操作:

    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {
        e.printStackTrace();
    }

如果不行,您可以尝试以下操作(我不确定 Windows L&F 是否可以在非 Windows 计算机上运行):

    try {
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    } catch (Exception e) {
        e.printStackTrace();
    }

重要提示:L&F 的设置应在应用程序启动时执行,此时还没有初始化任何视觉元素。