用java绘制图形,java类图怎么画

  用java绘制图形,java类图怎么画

  要用Java绘制基本图形,可以使用Java类库中的Graphics类,该类库位于java.awt包中。在我们自己的java程序文件中,为了使用Graphics类,我们需要使用import java.awt.Graphics语句导入Graphics类。

  Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形等。本项目仅用到画直线的功能,其它图形绘制请自行点击查阅Java API。

  Graphics类drawLine()方法:drawline (intx1,inty1,intx2,inty2)

  此方法的功能是:在此图形上下文的坐标系中,使用当前颜色在点 (x1,y1) 和 (x2,y2)之间画一条线。

  这里有几个概念需要理解:

  1)图形语境:通俗地说,就是绘图环境。每个小部件(如主窗口、按钮等。)有自己的图形上下文对象,我们用它在小部件上绘制图片。这个对象是图形对象。

  2)如何获取图形上下文:在我们想要绘制的组件上,我们可以调用那个组件的getGraphics()方法来获取那个组件的图形上下文对象,然后使用这个对象进行绘制。

  3)、Java坐标系:

  Java的坐标原点(0,0)位于屏幕的左上角。坐标测量以像素为单位。向右的水平方向是X轴的正方向,向下的垂直方向是Y轴的正方向。每个坐标点的值代表一个像素在屏幕上的位置,所有坐标点的值都是整数,如下图所示:

  如何解决写爬虫IP受阻的问题?立即使用。

  4)当前颜色:指图形上下文的当前颜色。每个图形上下文都有自己的当前颜色。颜色的变化可以通过Graphics对象的getColor()方法获得,setColor()方法可以设置颜色。

  例子如下:

  第一步:在DrawSee类中添加一个成员变量来描述游戏区域的特征。

  对于DrawSee类来说,这个类的主要功能是与用户进行交互,即显示游戏区域、显示数字、响应用户的鼠标点击、显示用户鼠标点击后的结果等。现在我们来考虑画10行10列游戏区的问题。首先将以下四个成员变量添加到DrawSee类中:

  导入Java . awt . color;

  导入Java . awt . container;

  导入Java . awt . font;

  导入Java . awt . graphics;

  导入Java . awt . event . mouse adapter;

  导入Java . awt . event . mouse event;

  导入javax . swing . jframe;

  公共类DrawSee扩展JFrame {

  私有静态final int sx=50//游戏区域中10*10个方块的起始横坐标

  私有静态最终int sy=50//游戏区域中10*10正方形的起始纵坐标

  私有静态final int w=40//每个小正方形的边长

  私有静态final int rw=400//游戏区域中10*10正方形的边长

  .

  }第二步:添加绘制游戏区域的方法(即绘制一个10行10列的红色网格)

  public void paintComponents(图形g) {

  尝试{

  //将线条颜色设置为红色

  g.setColor(颜色。红色);

  //绘制外部矩形框

  g.drawRect(sx,sy,rw,rw);

  /*水平画10个方块,垂直画10个方块。

  *即水平方向9行,垂直方向9行,

  *外围四条线已经画好了,不用再画了。

  *与此同时,内部的64个方块被数字填满。

  */

  for(int I=1;i 10i ) {

  //画第I条垂直线

  g.drawLine(sx (i * w),sy,sx (i * w),sy rw);

  //画第I条水平线

  g.drawLine(sx,sy (i * w),sx rw,sy(I * w));

  }

  } catch(异常e) {

  e . printstacktrace();

  }

  }摘要:

  导入Java . awt . color;

  导入Java . awt . container;

  导入Java . awt . font;

  导入Java . awt . graphics;

  导入Java . awt . event . mouse adapter;

  导入Java . awt . event . mouse event;

  导入javax . swing . jframe;

  /**

  *

  *节目入口

  *

  */

  公共类TestDrawLine {

  公共静态void main(String[] args) {

  new DrawSee();

  }

  }

  类DrawSee扩展JFrame {

  私有静态final int sx=50//小方块的宽度

  私有静态最终int sy=50//小方块的高度

  私有静态final int w=40

  私有静态final int rw=400

  私图jg;

  私有颜色rectColor=新颜色(0x F5 F5 f 5);

  /**

  * DrawSee构造方法

  */

  公共DrawSee() {

  容器p=getContentPane();

  setBounds(100,100,500,500);

  set visible(true);

  p . set background(rect color);

  set layout(null);

  setResizable(false);

  this . setdefaultcloseoperation(JFrame。EXIT _ ON _ CLOSE);

  尝试{

  thread . sleep(500);

  } catch(异常e) {

  e . printstacktrace();

  }

  //获取专门用于在窗口界面上绘图的对象

  jg=this . get graphics();

  //绘制游戏区域

  油漆组件(jg);

  }

  public void paintComponents(图形g) {

  尝试{

  //将线条颜色设置为红色

  g.setColor(颜色。红色);

  //绘制外部矩形框

  g.drawRect(sx,sy,rw,rw);

  /*水平画10个方块,垂直画10个方块。

  *即水平方向9行,垂直方向9行,

  *外围四条线已经画好了,不用再画了。

  *与此同时,内部的64个方块被数字填满。

  */

  for(int I=1;i 10i ) {

  //画第I条垂直线

  g.drawLine(sx (i * w),sy,sx (i * w),sy rw);

  //画第I条水平线

  g.drawLine(sx,sy (i * w),sx rw,sy(I * w));

  //填写第I行第1个方块到第8个方块的数字(方块数从0开始)

  for(int j=0;j 10j ) {

  //drawString(g,j,I);

  }

  }

  } catch(异常e) {

  e . printstacktrace();

  }

  }

  }结果如图所示:

  推荐教程:java开发入门以上是java如何绘制简单图形的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: