日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java.awt.Graphics2D绘制流程图基本元素

發布時間:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java.awt.Graphics2D绘制流程图基本元素 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java.lang.Object ----java.awt.Graphics ----java.awt.Graphics2D

由于項目需要,要求對用戶流程進行圖形化展示:用戶對自己的操作通過查看流程圖一目了然。于是進行了一下前期的java繪圖探索,通過java.awt.Graphics2D對繪制流程圖的基本元素進行了編碼,并將其展示在了jsp頁面上。

首先編寫一個servlet,然后在web.xml中對其進行配置,最后將圖片展示在jsp頁面。

1. 繪圖方法:

[java] view plaincopy
  • protected?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{??
  • ????response.setContentType("image/jpeg");//聲明文件格式??
  • ????//繪制寬=480,長=640的圖板??
  • ????int?width=480,hight=720;??
  • ????BufferedImage?image?=?new?BufferedImage(width,hight,BufferedImage.TYPE_INT_RGB);??
  • ????//獲取圖形上下文,graphics想象成一個畫筆??
  • ????Graphics2D?graphics?=?(Graphics2D)image.getGraphics();??
  • ??????
  • ????//消除線條鋸齒??
  • ????graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,?RenderingHints.VALUE_ANTIALIAS_ON);??
  • ??????
  • ????//對指定的矩形區域填充顏色??
  • ????graphics.setColor(Color.ORANGE);????//GREEN:綠色;??紅色:RED;???灰色:GRAY??
  • ????graphics.fillRect(0,?0,?240,?720);??
  • ????//對指定的矩形區域填充顏色??
  • ????graphics.setColor(Color.PINK);????
  • ????graphics.fillRect(240,?0,?240,?720);??
  • ??????
  • ????//生成隨機數??
  • ????Random?random?=?new?Random();??
  • ????/*?
  • ?????*?畫線?x,y是坐標,定義線段的兩個坐標點?
  • ?????*/??
  • ????graphics.setColor(Color.BLACK);??
  • ????int?x=100,y=100,x1=100,y1=y;??
  • ????graphics.drawLine(x,y,x+x1,y1);??
  • ????/*?
  • ?????*畫出一個折線?
  • ?????*/??
  • ????int[]?xPoints?=?{100,100,250,250};??
  • ????int[]?yPoints?=?{180,150,150,180};??
  • ????graphics.drawPolyline(xPoints,?yPoints,?4);??
  • ????/*?
  • ?????*?畫出一個閉合多邊形(三角形)?
  • ?????*/??
  • ????int[]?xPoints1?=?{100,100,200};??
  • ????int[]?yPoints1?=?{240,320,280};??
  • ????graphics.drawPolygon(xPoints1,?yPoints1,?3);??
  • ????/*?
  • ?????*?畫出一個閉合多邊形(菱形)?
  • ?????*/??
  • ????int[]?xPoints2?=?{240,300,360,300};??
  • ????int[]?yPoints2?=?{280,240,280,320};??
  • ????graphics.drawPolygon(xPoints2,?yPoints2,?4);??
  • ????graphics.setColor(Color.ORANGE);??
  • ????graphics.fillPolygon(xPoints2,?yPoints2,?4);??
  • ????/*?
  • ?????*繪制一個橢圓形??
  • ?????*/??
  • ????graphics.setColor(Color.GREEN);??
  • ????int?xOval=100,yOval=360;??
  • ????graphics.drawOval(xOval,?yOval,?100,?100);??
  • ??
  • ????/*?
  • ?????*繪制一個矩形?
  • ?????*/??
  • ????//graphics.setColor(Color.GRAY);//--設置矩形邊框顏色?。GREEN:綠色;??紅色:RED;???灰色:GRAY??
  • ????int?xRect=240,yRect=360;??
  • ????graphics.drawRect(xRect,?yRect,?200,?100);??
  • ??
  • ????//設置文字顏色??
  • ????graphics.setColor(new?Color(?20+random.nextInt(100),??20+random.nextInt(100),??20+random.nextInt(100)?));??
  • ????//設置文字內容、位置??
  • ????graphics.drawString("直線",100+50,100-5);??
  • ????graphics.drawString("折線",?200,?150-5);??
  • ????graphics.drawString("空心三角形",?110,?280);??
  • ????graphics.drawString("實心菱形",?300-20,?280);??
  • ????graphics.drawString("橢圓形",?100+50,?360+50);??
  • ????graphics.drawString("矩形",?240+50,?360+50);??
  • ????//graphics.drawString("錯誤的背景顏色",?100,?540);??
  • ??????
  • ????//graphics.setPaintMode();??
  • ????//graphics.translate(400,?600);??
  • ??????
  • ????graphics.dispose();//釋放此圖形的上下文并釋放它所使用的所有系統資源??
  • ??????
  • ????ImageIO.write(image,"JPEG",response.getOutputStream());??
  • ????PrintWriter?out?=?response.getWriter();??
  • ????out.flush();??
  • ????out.close();??
  • ????//super.doGet(request,?response);??
  • }??
  • 2. web.xml中配置servlet:

    [html] view plaincopy
  • <servlet>??
  • ????<servlet-name>graphics1</servlet-name>??
  • ????<servlet-class>hsy.graphics.test.GraphicsServlet</servlet-class>??
  • </servlet>??
  • ??
  • <servlet-mapping>??
  • ????<servlet-name>graphics1</servlet-name>??
  • ????<url-pattern>/servlet/graphics1</url-pattern>??
  • </servlet-mapping>??
  • 3. Jsp頁面中只需如下一句即可展示圖形:

    [html] view plaincopy
  • <span?style="white-space:pre">??</span><img?id=""?style=""?src="../servlet/graphics1">??

  • 4. 頁面圖形展示如下:



    現在大家可以看看,充分發揮一下想象力,上圖中是否包含了 ‘泳道’、‘開始節點’、‘結束節點’、’普通節點‘、‘流轉線條’ 、‘描述文字’ 等一系列元素。那么剩下來的事情就是如何去繪制一個完整的流程圖了,顯然這不是一件簡單的事情,但是有了這些基本的元素,再難應該也是可以繪制出來的。童鞋們,結合自己的項目,充分發揮你的想象力去完成流程圖的繪制吧!

    總結

    以上是生活随笔為你收集整理的java.awt.Graphics2D绘制流程图基本元素的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。