1
        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' 已加下划线。我希望仅在单击 alt 时才为“b”加下划线。

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

我们该怎么做呢?

4

1 回答 1

2

据我所知,此行为仅受 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 的设置应在应用程序开始时执行,此时尚未初始化任何视觉元素。

于 2016-09-09T08:30:19.967 回答