import sun.awt.image.BufferedImageDevice;

本文介绍了一个关于 Java 中 sun.awt.image.BufferedImageDevice 类引用出现错误的问题,并提供了一种临时解决方案:先移除该类,在需要使用时再重新添加。

import sun.awt.image.BufferedImageDevice;

引用这个类   有错误


暂时处理的办法是将这个类删除,等到要用的时候在添加

package com.company; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Pointer; import com.sun.jna.platform.win32.Shell32; import com.sun.jna.platform.win32.ShlObj; import com.sun.jna.platform.win32.WinDef; import com.sun.jna.platform.win32.WinNT; import com.sun.jna.win32.StdCallLibrary; //net.java.dev.jna:jna:5.13.0 //net.java.dev.jna:jna-platform:5.13.0 import javax.swing.*; import java.awt.*; import java.io.File; public class Main { public interface MyShell32 extends StdCallLibrary { MyShell32 INSTANCE = (MyShell32) Native.load("shell32", MyShell32.class); int SHGetFileInfo(String pszPath, WinNT.DWORD dwFileAttributes, ShlObj.SHFILEINFO psfi, int cbFileInfo, int uFlags); } public static ImageIcon getFileIcon(File file) { ShlObj.SHFILEINFO shinfo = new ShlObj.SHFILEINFO(); int flags = ShlObj.SHGFI_ICON | ShlObj.SHGFI_SMALLICON; MyShell32.INSTANCE.SHGetFileInfo(file.getAbsolutePath(), 0, shinfo, shinfo.size(), flags); Pointer hIcon = shinfo.hIcon; ImageIcon icon = new ImageIcon(Toolkit.getDefaultToolkit().getImage(hIcon.getPointer())); Shell32.INSTANCE.DestroyIcon(hIcon); return icon; } public static void main(String[] args) { File file = new File("src/com/company/Main.java"); ImageIcon icon = getFileIcon(file); JLabel label = new JLabel(icon); JFrame frame = new JFrame(); frame.setLayout(new FlowLayout()); frame.add(label); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } 这段代码有哪些错误?
最新发布
11-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值