
package com.han;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* 相比上一个例子(Graphics_7)而言:拖动窗口调整大小时,没有白光闪烁
* @author HAN
*
*/
@SuppressWarnings("serial")
public class Graphics_8 extends JFrame {
static CanvasPanel myPanel;
public Graphics_8() {
// TODO Auto-generated constructor stub
myPanel = new CanvasPanel();
getContentPane().add(myPanel);
JButton button = new JButton("HAN Gaowen");
myPanel.add(button);
}
class CanvasPanel extends JPanel {
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
URL imgURL = this.getClass().getResource("/images/Lighthouse.jpg");
Image image = Toolkit.getDefaultToolkit().getImage(imgURL);
g2.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Graphics_8 frame = new Graphics_8();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("绘制图片");
frame.setSize(440, 300);
frame.setVisible(true);
System.out.println(myPanel.getSize());
}
}