| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3929 人关注过本帖
标题:关于JPanel 的setOpaque问题
只看楼主 加入收藏
winsun
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-3-4
收藏
 问题点数:0 回复次数:5 
关于JPanel 的setOpaque问题

本人想用几个JPanel的来重复合成一个图画,就是说,可以几层的JPanel来重叠在一起,然后想通过setOpaque的方法来设置每一个JPanel透明,想显示各个JPanel的图像,但是不行,请问怎样可以做到呢?

搜索更多相关主题的帖子: JPanel setOpaque 图画 图像 复合 
2007-03-24 16:10
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 

自己覆写JPanel的paintComponent方法,用Graphics的drawImage方法自己draw上去.


My BlogClick Me
2007-03-24 17:07
winsun
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-3-4
收藏
得分:0 
用Graphics的drawImage 不会把原来下层的JPanel图像给遮住吗?
我是一个新手,可以给出示例代码吗?
2007-03-24 17:54
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 

示例程序:


import java.io.*;
import java.awt.*;
import javax.swing.*;
import javax.imageio.*;

/**
*author: [url=http://eastsun.javaeye.com]Eastsun[/url]
*/
public class CompositeImage extends JFrame{
Image backImage,foreImage;
public CompositeImage(){
super(\"CompositeImage\");
try{
backImage =ImageIO.read(new File(\"back.jpg\"));
foreImage =ImageIO.read(new File(\"fore.jpg\"));
}catch(IOException e){
e.printStackTrace();
System.exit(1);
}
JPanel panel =new JPanel(){
public void paintComponent(Graphics g){
Graphics2D g2 =(Graphics2D)g;
g2.drawImage(backImage,0,0,null);
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.3f));
g2.drawImage(foreImage,80,120,null);
}
};
Dimension dim =new Dimension(backImage.getWidth(null),backImage.getHeight(null));
panel.setPreferredSize(dim);
add(panel);
pack();
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new CompositeImage().setVisible(true);
}
});
}
}


[upload=程序的源代码与图片文件]viewFile.asp?ID=18227[/upload]


068IJQxR.rar (28.88 KB) 关于JPanel 的setOpaque问题


My BlogClick Me
2007-03-24 18:44
依侬
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-3-25
收藏
得分:0 

我把那代码放到Jcreater环境里去运行了下,编译通过,运行就出现了异常,说:Can not read input file!
是什么原因?

2007-03-25 11:26
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
你下载我代码后的附件.
其中包含两个图片文件,没有图片文件当然异常了.

My BlogClick Me
2007-03-25 11:39
快速回复:关于JPanel 的setOpaque问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050909 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved