通过重载给JPanel增加背景图片

2014-11-30 15:51:40|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:Java, Swing, 界面设计|来源:唯设编程网

为了使我们的应用程序界面更加美观,Swing默认提供的JPanel往往无法满足我们的要求,这时候我们可以考虑给JPanel增加背景图片。本实例提供的方法是对JPanel进行重载,在对应的paintComponent函数中diaoy实现背景图的绘制。

package Test;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 * test setting JPanel's background
 * 
 */
public class TestImgJpanel extends JFrame {

	private Dimension frameSize = new Dimension(600, 600);

	public TestImgJpanel() {
		this.setLayout(new BorderLayout());
		this.setSize(frameSize);

		JPanel panel = new JPanel() {
			@Override
			protected void paintComponent(Graphics g) {
				ImageIcon icon = new ImageIcon("D://test.jpg");
				Image img = icon.getImage();
				g.drawImage(img, 0, 0, icon.getIconWidth(),
						icon.getIconHeight(), icon.getImageObserver());
			}
		};

		this.add(panel, BorderLayout.CENTER);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}

	public static void main(String[] args) {
		TestImgJpanel test = new TestImgJpanel();
	}

}

paintComponent是JComponent定义的成员方法,用来完成组件的绘制,在需要重新定义外观的组件重载,你需要在该方法中添加你自己的绘制代码。

 

发表评论0条 】
网友评论(共?条评论)..
通过重载给JPanel增加背景图片