/**
* 功能:java绘图原理
*/
package com.huiTu;
import java.awt.*;
import javax.swing.*;
import javax.swing.text.StyledEditorKit.BoldAction;
public class Demo1 extends JFrame{
MyPanel myPanel;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo1 demo1=new Demo1();
}
public Demo1(){
myPanel=new MyPanel();
//将myPanel铺在Jframe上,类似jpanel的添加
this.add(myPanel);
this.setSize(400, 300);
this.setLocation(100, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//定义一个MyPanel(我自己的面板,用于绘图和实现绘图的区域)
//继承JPanel,因为Jpanel可以用实现绘图
class MyPanel extends JPanel{
//覆盖JPanel的paint方法
//Graphic 是绘图的重要类,可以理解为一支画笔,该方法会自动调用
public void paint(Graphics g) {
//1、调用父类函数完成初始化
//这句话必须有,调用JPanel的方法,做一些初始化工作
super.paint(g);
// 画一个椭圆(包含圆)
// g.drawOval(10, 10, 30, 30);
// 画直线
// g.drawLine(10, 10, 20, 100);
// 画矩形边框
// g.drawRect(10, 10, 40, 50);
// 画填充矩形
// g.setColor(Color.CYAN);
// g.fillRect(100, 20, 30, 70);
// 画填充椭圆
// g.setColor(Color.BLUE);
// g.fillOval(10, 10, 70, 70);
//在面板上插入图片
// Image img=Toolkit.getDefaultToolkit()
// .getImage(Panel.class
// .getResource("/Apple.jpg"));
// //this代词代表谁?当然是mypanel
// g.drawImage(img,10,20,160,100,this);
//画字符串
g.setColor(Color.BLUE);
g.setFont(new Font("宋体", Font.BOLD,50));
g.drawString("心静如水", 100, 100);
}
}