java - 使用 jgoodies-looks WindowsLookAndFeel 时 JMenu 看起来很奇怪
问题描述
因此,我一直在尝试使用 JGoodies-Looks 的 2.7.0 Windows L&F 为我的 Java Swing 应用程序提供原生 Windows 外观,但在尝试创建 JMenuBar 时偶然发现了一个问题,因为它看起来很奇怪。我究竟做错了什么?
这是 JMenu 在 jgoodies-looks 演示中的外观:
这就是它在我的演示应用程序中的外观:
请注意:第一个 JMenuItem 是然而
演示代码:
import com.jgoodies.looks.windows.WindowsLookAndFeel;
import javax.swing.*;
public class TestForm extends JFrame {
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(new WindowsLookAndFeel());
} catch (Exception e) {
System.out.println("Can't change L&F: " + e);
}
SwingUtilities.invokeLater(TestForm::new);
}
public TestForm(){
this.setBounds(200, 200, 500, 500);
this.setTitle("Test");
this.setJMenuBar(constructMenuBar());
this.setVisible(true);
}
private JMenuBar constructMenuBar(){
JMenuBar menuBar = new JMenuBar();
menuBar.add(constructEditMenu());
return menuBar;
}
private JMenu constructEditMenu() {
JMenu menu = new JMenu("Edit");
menu.add(createItem("Copy"));
menu.add(new JSeparator());
menu.add(createItem("Paste"));
return menu;
}
private JMenuItem createItem(String title){
return new JMenuItem(title);
}
}
解决方案
推荐阅读
- python - Python 中的单行 if-else:解释行为
- sql - 需要在一列上使用不同长度的子字符串连接 2 个表,长度在第二个表中说明
- jquery - 当我加载超过 50000 行时,我在 django 中使用 js 的数据表非常慢
- excel - 如何从 Excel 中的下拉列表中获取先前的值?
- python - 无效 URL 非数字端口错误的解决方案?
- asp.net-core - 重新启动应用程序时,ASP.NET Core 3.1 Microsoft Graph 访问令牌丢失
- php - 如何通过ajax到php处理多个表单数据
- sql - SQL:当查询也有很多“where”谓词时,“order by”列上的索引
- java - 滑动时材质选项卡闪烁问题 - Android
- flutter - 发布版本在 Flutter 中无法正常工作?