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); } }
繪制圖片實例運行結果如下