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 stubDrawString 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);} }
绘制图片实例运行结果如下