我正在使用 spring boot 创建一个 swing 应用程序。并且我尝试使用的框架已在应用程序上下文中注册为组件。
@Bean
public UploadForm createUploadForm(){
return new UploadForm();
}
这就是我最初启动应用程序的方式
public static void main(String[] args) throws Exception{
SpringApplicationBuilder springApplicationBuilder = new SpringApplicationBuilder(Application.class);
springApplicationBuilder.headless(false);
ConfigurableApplicationContext context = springApplicationBuilder.run(args);
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
EventQueue.invokeLater(() -> {
UploadForm uploadForm = context.getBean(UploadForm.class);
uploadForm.setVisible(true);
});
}
,但是通过这种方式,文件选择器以相同的旧方式出现。但是如果我们使用 new UploadForm 代替 context 中的已注册bean ,则一切都很好, jfilechooser 出现在Windows外观格式中
UploadForm uploadForm = new UploadForm();
uploadForm.setVisible(true);
答案 0 :(得分:1)
在构造bean之前,您需要设置外观。尝试在上下文创建之前将UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
行移动。