可以设置背景的JPanel!!
2008-02-23 09:28:45来源:互联网 阅读 ()
最近在写Swing的程序,对怎么在在Jpanel上放置背景网上大多数是在上面加个JLabel,然后设置JLAbel的Icon!但这样做后,JPanel上加其它组件就不好处理了!于是想到继承JPanel然后再重写paintComponent(Graphics g)和paintChildren(Graphics g)这两个方法,这样就保证了JPanel,最初的状态,想怎么处理其它组件都行了;以下是源代码:
import Java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
public class BackGroundPane extends JPanel {
private ImageIcon imageIcon;
public ImageIcon getImageIcon() {
return imageIcon;
}
public void setImageIcon(ImageIcon imageIcon) {//设置图片
this.imageIcon = imageIcon;
}
public BackGroundPane() {
super();
this.setOpaque(false);
}
protected void paintChildren(Graphics g) {//重绘JPanel下的Components
super.paintChildren(g);
for(int i =0;i<this.getComponents().length;i ){
this.getComponent(i).repaint();
}
g.dispose();
}
protected void paintComponent(Graphics g) {
Graphics2D g2D = (Graphics2D)g;
super.paintComponent(g2D);
if(imageIcon!=null){//绘制背景
g2D.drawImage(imageIcon.getImage(), 0, 0,this.getWidth(),this.getHeight(),this);
}
g2D.dispose();
}
}
在调用的时候只要新建一个对象,然后再调用setImageIcon(ImageIcon imageIcon)方法就是可以绘制背景了,如果没有背景也可以当JPanel!!
上一篇: Tom小猫,让我看清你的五脏六腑(一)
下一篇: read-Atleap-5-主逻辑1-发表新闻
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash