java窗口透明化
importjava.io.File;importjavax.swing.*;importcom.sun.awt.AWTUtilities;publicclassUi{p...
import java.io.File;import javax.swing.*;import com.sun.awt.AWTUtilities;public class Ui { public static void main(String args[]){ JFrame frame = new JFrame("Hello fantuan"); AWTUtilities.setWindowOpaque (frame, false); String picPath = "E:"+File.separator+"fan.gif"; Icon icon = new ImageIcon(picPath); JPanel pan = new JPanel(); JLabel lab = new JLabel(icon); //定义一个标签,显示图片 pan.add(lab); frame.add(pan); frame.setSize(330,362); frame.setLocation(333,222); frame.setVisible(true); }}
程序编译通过,运行报错
Exception in thread "main" java.lang.IllegalArgumentException: The effects for decorated windows are not supported. at com.sun.awt.AWTUtilities.setWindowOpaque(AWTUtilities.java:388) at 登陆界面.Ui.main(Ui.java:15)
这句AWTUtilities.setWindowOpaque (frame, false);的问题
jdk是1.7的 展开
程序编译通过,运行报错
Exception in thread "main" java.lang.IllegalArgumentException: The effects for decorated windows are not supported. at com.sun.awt.AWTUtilities.setWindowOpaque(AWTUtilities.java:388) at 登陆界面.Ui.main(Ui.java:15)
这句AWTUtilities.setWindowOpaque (frame, false);的问题
jdk是1.7的 展开
展开全部
这个问题应该是你没有导入com.sun.awt.awt.awt.AWTUtilities这个包,因为以com或者sun开头的包不是javase基础类库中的包,所以你要是在使用它们的时候需要单独设置它们,如果你使用的是myeclipse的话,你可以这样进行配置
右键项目名称----->Propreties------>Libraries------>展开JRE(单击JRE System...前面的+号)------>双击Access Rule...------>单击add------>把Forbidden变为Accessible 同时Rule Pattern中添加 com/**----->确定完毕了~~~~
右键项目名称----->Propreties------>Libraries------>展开JRE(单击JRE System...前面的+号)------>双击Access Rule...------>单击add------>把Forbidden变为Accessible 同时Rule Pattern中添加 com/**----->确定完毕了~~~~
追问
我用的是eclipse...可是如果没导入的话连编译都不会通过的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AWTUtilities.setWindowOpaque (frame, false);之前加上一句 frame.setUndecorated(true);
追问
不行....它只去除了上面的标题栏...
根本没有实现AWTUtilities.setWindowOpaque (frame, false);这句语句啊
false是可拖拽的意思吧?
边上还有一圈容器的阴影,而且无法拖拽
追答
我只是回答你异常的原因,就是The effects for decorated windows are not supported.
需要在前面加上frame.setUndecorated(true);,告之容器启用此窗体的装饰
AWTUtilities.setWindowOpaque (frame, false);代码你仔细看看,就知道了
至于能不能AWTUtilities.setWindowOpaque实现效果,我不清楚
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
换swt试试
更多追问追答
追问
不懂..我是新手
追答
写图形有awt,swing,swt,这种情况swt更适合你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询