几个关于graphics绘图的问题

时间:2023-02-03 20:48:44
1. paint()似乎是不能由用户来调用的,而repaint()只能重做paint()里有的工作。现在我想在程序运行过程中画图,应该怎么做?比如说,用户点击一个button,就会在图上一个地方出现一个点。而不是一初始化就出现这个点,该怎么做?

2. 如何画一个箭头?我现在需要画一个矢量场,想用箭头表达不同位置的不同矢量。不知道有什么实现方式。

3. 如何控制颜色的浓淡深浅?

今天刚刚入门做图像。还望指教!

13 个解决方案

#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


专业路过...

#4


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

#5


Java绘图很纠结,友情帮顶

#6


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

#7


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

#8


算了,以后还是把重心向网络转移!

#9


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整数

#10


引用 9 楼 victor_woo 的回复:
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整数


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

#11


引用 4 楼 zhuyouyong 的回复:
gui很重要,但是Java主要还是擅长web方向的开发!


那你就理解错了

UP

#12


第一个很简单吧 为按钮注册监听器 监听事件里面添加画点的代码(包括设置点的颜色 位置 以及位移量 这样点一次按钮就可以生产一个点) 然后启动一个线程 run()方法里不断repaint()就OK

第二个也不难 我觉得可以这样,画板上点击按钮第一次的时候,记住鼠标的起始左边,然后拖动鼠标选择方向,这个时候要启动线程不断repaint(),调用draw方法,设置好画笔颜色,才可以看见有一条线拉了出来,然后再记住鼠标释放的那个坐标,这样知道了起始点和终点,画一个箭头就很容易了。(前提是你需要为鼠标点击和释放注册监听器)

第三个 你可以g.setColor(0~255,0~255,0~255);这样想设置成什么颜色,只要控制颜色的三要素,就可以了

#13


打错一个单词,第三行 是坐标 不是左边

#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


专业路过...

#4


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

#5


Java绘图很纠结,友情帮顶

#6


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

#7


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

#8


算了,以后还是把重心向网络转移!

#9


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整数

#10


引用 9 楼 victor_woo 的回复:
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整数


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

#11


引用 4 楼 zhuyouyong 的回复:
gui很重要,但是Java主要还是擅长web方向的开发!


那你就理解错了

UP

#12


第一个很简单吧 为按钮注册监听器 监听事件里面添加画点的代码(包括设置点的颜色 位置 以及位移量 这样点一次按钮就可以生产一个点) 然后启动一个线程 run()方法里不断repaint()就OK

第二个也不难 我觉得可以这样,画板上点击按钮第一次的时候,记住鼠标的起始左边,然后拖动鼠标选择方向,这个时候要启动线程不断repaint(),调用draw方法,设置好画笔颜色,才可以看见有一条线拉了出来,然后再记住鼠标释放的那个坐标,这样知道了起始点和终点,画一个箭头就很容易了。(前提是你需要为鼠标点击和释放注册监听器)

第三个 你可以g.setColor(0~255,0~255,0~255);这样想设置成什么颜色,只要控制颜色的三要素,就可以了

#13


打错一个单词,第三行 是坐标 不是左边