我正在尝试使用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。
有什么想法吗?
答案 0 :(得分:2)
作为AWT组件的FileDialog将更加依赖于本地平台。在Solaris的情况下,它可能会从启动你的应用程序本身的java可执行文件中获取图标。
你有没有理由不能使用JFileChooser?
答案 1 :(得分:1)
在所有平台上都可能无法实现。我想FileDialog
以某种方式使用操作系统提供的文件管理器,如果不支持图标,那你运气不好。