import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.LayoutManager;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class myPanel extends JPanel {
BufferedImage image=null;
//源码 超类重构 jpanel
public myPanel() {
super();
try {
image=ImageIO.read(getClass().getResource("image.jpg"));//图片在同一类中
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
// TODO 自动生成的构造函数存根
}
public myPanel(boolean isDoubleBuffered) {
super(isDoubleBuffered);
// TODO 自动生成的构造函数存根
}
public myPanel(LayoutManager layout, boolean isDoubleBuffered) {
super(layout, isDoubleBuffered);
// TODO 自动生成的构造函数存根
}
public myPanel(LayoutManager layout) {
super(layout);
// TODO 自动生成的构造函数存根
}
@Override
protected void paintBorder(Graphics g) {
// TODO 自动生成的方法存根
g.setColor(Color.orange);
g.drawRect(10, 10,50, 50);//矩形框
g.fillRect(0, 0, 20, 20);//填充的矩形
//g.fillRoundRect(x, y, width, height, arcWidth, arcHeight);//填充圆角矩形
g.drawOval(90, 90, 10, 10);//椭圆
g.setFont(new Font("a",Font.BOLD, 20));//文本
g.drawString("test",200, 200);
g.drawArc(50, 50, 30, 30, 0, 180);//弧线,逆时针
g.fillArc(0, 0, 200, 200, 180, 0);
if(image!=null)
{
g.drawImage(image, 20, 20, null);
//g.drawImage(img, x, y, width, height, observer);
}
//g.drawPolyline(xPoints, yPoints, nPoints);//x坐标,y坐标,顶点数
}
@Override
protected void paintChildren(Graphics g) {
// TODO 自动生成的方法存根
super.paintChildren(g);
}
@Override
protected void paintComponent(Graphics g) {
// TODO 自动生成的方法存根
super.paintComponent(g);
}
}