1. paint()似乎是不能由用户来调用的,而repaint()只能重做paint()里有的工作。现在我想在程序运行过程中画图,应该怎么做?比如说,用户点击一个button,就会在图上一个地方出现一个点。而不是一初始化就出现这个点,该怎么做?2. 如何画一个箭头?我现在需要画一个矢量场,想用箭头表达不同位置的不同矢量。不知道有什么实现方式。3. 如何控制颜色的浓淡深浅?今天刚刚入门做图像。还望指教!

解决方案 »

  1.   

    1,你可以这样 设置个boolean类型!!开始为false!!点击后为true  repait()就可以;
    2用  GeneralPath的moveTo试试 
    3  我觉得得用自定义Color把!!
      需要知道RGB参数程序自己试着写吧!!!
      

  2.   

    1.添加button监听事件,可以去学一下相关内容,GUI中很重要的
    2.其实画箭头,不就是画三根线嘛,drawLine()方法,可参考
    http://topic.csdn.net/t/20060502/22/4728357.html
    3.Color c = new Color(int r,int g,int b)
       主要由这三个数字决定
      

  3.   

    gui很重要,但是Java主要还是擅长web方向的开发!
      

  4.   

    除了在paint中写,也可以在jpanel中调用getGraphics()获得图形上下文进行绘制。
    GradientPaint能够实现渐变色效果。
      

  5.   

    jdk带着很多的demean,上面完全有你需要的实例,瞅瞅就明白了
      

  6.   

    1. paint()似乎是不能由用户来调用的,而repaint()只能重做paint()里有的工作。现在我想在程序运行过程中画图,应该怎么做?比如说,用户点击一个button,就会在图上一个地方出现一个点。而不是一初始化就出现这个点,该怎么做?2. 如何画一个箭头?我现在需要画一个矢量场,想用箭头表达不同位置的不同矢量。不知道有什么实现方式。3. 如何控制颜色的浓淡深浅?今天刚刚入门做图像。还望指教!
    ------------------------------------------------------------------------------------------
    paint负责绘图,但是绘图也要有数据源,一个LinkedList?ArrayList?(作为applet类的成员变量!)
    因此各种interaction(鼠标,键盘,定时器,...)只是modify你的数据结构(向数组添加点对象,线对象)
    然后调用repaint重绘!你的paint方法是将一个数据源中的内容图形化这里的数据源是泛指,你可以在paint中读取文件,连接数据库,当然也可以是一个数组成员变量!画出形状如果是平面中的不同方向,那就太过draw实现即可,空间场就会复杂一些!颜色的浓淡深浅 new java.awt.Color(r,g,b) rgb 都是0~255整数
      

  7.   


    有些错误: 太过draw -->通过drawLine
      

  8.   

    第一个很简单吧 为按钮注册监听器 监听事件里面添加画点的代码(包括设置点的颜色 位置 以及位移量 这样点一次按钮就可以生产一个点) 然后启动一个线程 run()方法里不断repaint()就OK第二个也不难 我觉得可以这样,画板上点击按钮第一次的时候,记住鼠标的起始左边,然后拖动鼠标选择方向,这个时候要启动线程不断repaint(),调用draw方法,设置好画笔颜色,才可以看见有一条线拉了出来,然后再记住鼠标释放的那个坐标,这样知道了起始点和终点,画一个箭头就很容易了。(前提是你需要为鼠标点击和释放注册监听器)第三个 你可以g.setColor(0~255,0~255,0~255);这样想设置成什么颜色,只要控制颜色的三要素,就可以了