自己做的网站用别的电脑怎么访问,dw软件免费安装,西安seo霸屏,郑州贴吧jna 使用在使JFrame透明中#xff0c;我展示了一种使用AWTUtilities类使框架透明的方法。 但是使用该类会导致访问限制编译时错误#xff0c;该文章中还显示了Eclipse中的解析。 现在#xff0c;这里是使用Java本机的版本。 我使用Java本机访问#xff08;JNA#xff09;库… jna 使用 在使JFrame透明中我展示了一种使用AWTUtilities类使框架透明的方法。 但是使用该类会导致访问限制编译时错误该文章中还显示了Eclipse中的解析。 现在这里是使用Java本机的版本。 我使用Java本机访问JNA库来调用本机函数来完成任务。 什么是Java本机访问JNA JNA使Java程序可以轻松访问本机共享库Windows上的DLL而无需编写Java代码-无需JNI或本机代码。JNA允许您使用自然Java方法调用直接调用本机函数。 代码 import javax.swing.JFrame;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;import com.sun.jna.platform.WindowUtils;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle(Transparent Frame);setSize(400,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JSlider slider new JSlider(JSlider.HORIZONTAL, 30, 100, 100);slider.addChangeListener(new ChangeListener() {Overridepublic void stateChanged(ChangeEvent e) {JSlider slider (JSlider) e.getSource();if(!slider.getValueIsAdjusting()){WindowUtils.setWindowAlpha(TransparentFrame.this, slider.getValue()/100f);}}});add(slider);setVisible(true);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {Overridepublic void run() {new TransparentFrame();}});}
} JNA jarplatform.jar中提供了WindowUtils类。 WindowUtils类的方法setWindowAlpha 用于使窗口透明。 此方法的第一个参数是您的框架/窗口第二个参数是alpha值。 此类还具有一个称为setWindowTransparent的方法该方法还可用于使窗口透明。 依存关系 您将需要以下2个jar来运行该程序两个jar文件都可以在GitHub上下载JNA 。 jna.jar platform.jar 要在Windows上运行以上代码您将需要在调用WindowUtils函数之前设置“ sun.java2d.noddraw”系统属性。 System.setProperty(sun.java2d.noddraw, true); 输出量 补充笔记 我已经在以下机器上测试了此代码 Windows XP Service Pack 332位 Windows 732位 Cent OS 532位 如果您在其他计算机上对其进行测试或使用JNA的其他计算机具有相同功能的代码请随时将其作为对此文章的评论进行共享。 祝您编程愉快别忘了分享 参考 harryjoy博客上的JCG合作伙伴 Harsh Raval 使用JNA的透明JFrame 。 翻译自: https://www.javacodegeeks.com/2012/09/transparent-jframe-using-jna.htmljna 使用