java - 为什么Java AWT FileDialog setIconImage 方法设置图标失败?

标签 java icons awt filedialog

我正在尝试使用 Java AWT FileDialog,但我想用其他东西替换默认的 Java Dialog 图标。简而言之,代码看起来像这样:

Frame frame = new Frame();
Image image = ImageIO.read(new URL("file:/path/to/myfile.jpg"));
FileDialog fileDialog = new FileDialog(frame, "Save As", FileDialog.SAVE);

fileDialog.setIconImage(image);
fileDialog.setDirectory("/path/to/directory");
fileDialog.setFile("filename.txt");

fileDialog.setVisible(true);

我尝试了几种变体,包括读取图像、打包 FileDialog、打包 Frame、设置 Frame 图标等的不同方法。但是,无论我尝试什么,FileDialog 图标都不会改变。当我设置 Frame 的图标并将 Frame 设置为可见时,Frame 显示了正确的图标,但 FileDialog 仍然不行。

有什么想法吗?

最佳答案

FileDialog 作为一个 AWT 组件,将更加依赖于本地平台。在 Solaris 的情况下,它可能会从启动您的应用程序本身的 java 可执行文件中获取图标。

有什么理由不能使用 JFileChooser?

关于java - 为什么Java AWT FileDialog setIconImage 方法设置图标失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1787045/

相关文章:

java - Thread 类的静态 sleep 方法如何在不访问 'this' 引用的情况下工作?

java - ServerSocket 不接受 droid 模拟器

java - 如何使用 Gradle 创建 Google App Engine 项目

android - 使用一个 ic_launcher.png 而不是四个

Java:使用图像作为按钮

java - 在 Thymeleaf 和 Spring Boot 的嵌套类中使用枚举

ios - xcassets : A XXxXX app icon is required for iPhone apps targeting releases of iOS prior to 7. 0

visual-studio - 如何在 Visual Studio 2010 中执行 "shell"图标嵌入?

java - 如何通过代码编辑awt文本字段

java - 相当于Clojure中的imshow?