同じ機能(java 1.7のJWindow.setOpacity()およびjava 1.6のAWTUtilities.setWindowOpacity()など)に対して異なるバージョンのjavaに異なるAPIが存在する場合、クラスの動的ロードを使用して、以下に応じてAPIを使用できます。クラスwrtjavaバージョンの可用性。これが私のケースを解決したコードです:
try
{
Class<?> cls = Class.forName("javax.swing.JWindow");
Method meth = cls.getMethod("setOpacity", float.class);
meth.invoke(transparentWindow, 0.50f);
}
catch (Throwable e)
{
e.printStackTrace();
try
{
Class<?> cls = Class.forName("com.sun.awt.AWTUtilities");
Method meth = cls.getMethod("setWindowOpacity", Window.class,
float.class);
meth.invoke(null, transparentWindow, 0.50f);
}
catch (Throwable e1)
{
e1.printStackTrace();
}
}
私がかつてのように初心者に役立つことを願っています:)