4

我正在尝试使用 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 图标都不会改变。当我设置框架的图标并将框架设置为可见时,框架显示了正确的图标,但对于 FileDialog 来说仍然不行。

有什么想法吗?

4

2 回答 2

2

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

您是否有理由不能使用 JFileChooser?

于 2009-11-24T20:36:12.147 回答
1

这可能并非在所有平台上都是可能的。我猜想以FileDialog某种方式使用操作系统提供的文件对话框,如果它不支持图标,那你就不走运了。

于 2009-11-24T01:30:30.020 回答