package com.graphics; import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.util.Date; import javax.swing.*; /**
*
* @author biexiansheng
*
*/
public class DrawString extends JFrame{ private Shape rect;//矩形对象
private Font font;//字体对象
private Date date;//当前日期对象
public DrawString(){
rect=new Rectangle2D.Double(10, 10, 200, 80);
font=new Font("宋体",Font.BOLD,16);
date=new Date();
this.setSize(230,140);//设置窗体的大小
//设置窗体的关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
add(new CanvasPanel());//设置窗体面板为绘图面板对象
this.setTitle("绘图文本");//设置窗体标题
}
class CanvasPanel extends JPanel{
public void paint(Graphics g){
super.paint(g);
Graphics2D g2=(Graphics2D)g;//强制类型转换
g2.setColor(Color.CYAN);//设置当前绘图颜色
g2.fill(rect);//填充矩形
g2.setColor(Color.blue);//设置当前绘图颜色
g2.setFont(font);//设置字体
g2.drawString("现在的时间是", 20, 30);//绘制文本
g2.drawString(String.format("%tr", date), 50, 60);//绘制事件文本
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
DrawString ds=new DrawString();//
ds.setVisible(true);
} }
实例运行结果如下
package com.graphics; import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL; import javax.swing.JFrame;
import javax.swing.WindowConstants; /**
* 1:绘制图片
*绘图类不仅可以绘制图形和文本,还可以使用drawImage()方法将图片资源显示到绘图上下文中
*而且可以实现各种特效处理,如图片的缩放,翻转等
*语法如下
*drawImage(Image img,int x,int y,ImageObserver observer);
*该方法将img图片放到x,y指定位置上面,observer是要通知的图像观察者
*/ public class DrawImage extends JFrame { Image img;
public DrawImage(){
URL url=DrawImage.class.getResource("1.jpg");//获取图片资源的路径
img=Toolkit.getDefaultToolkit().getImage(url);//获取图片资源
this.setSize(250, 200);//设置窗体的大小
//设置窗体的关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
add(new CanvasPanel());//设置窗体面板为绘图面板对象
this.setTitle("绘图图片");
}
class CanvasPanel extends Canvas{
public void paint(Graphics g){
super.paint(g);
Graphics2D g2=(Graphics2D)g;
g2.drawImage(img,0,0,this);//显示图片
} }
public static void main(String[] args) {
DrawImage di=new DrawImage();//
di.setVisible(true);
}
}
绘制图片实例运行结果如下