怎样画图???????仅有的分全给,万分感激 我想画一个图,有六条线,其中第一条与X轴成0度,第二条与X轴成120度,第三条与X轴成240度.Java初学者,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有两个问题比较麻烦1)确定直线的点。对于这问题倒是有一个简单办法,不画线,画弧。2)坐标转换。和其它绘图系统一样,java2D的坐标系如下所示: (0, 0) +--->x | | V y从你的问题看,你可能要把中心放在中央,另外,可能会采用我们习惯的坐标系。所以,需要转换。步骤:1) 选择画布 java2D的图可以画在任何Component上,现在通常画在JLabel或者JPanel上,推荐使用JLabel。建一个JLabel的子类,重载paintComponent(Graphics g)方法。注意,格式是这样的。paintComponent(Graphics g) { //最好加上这句,虽然你当前的需求不需要这么做 super.paintComponent(g); // Graphics2D提供了更多的绘图支持,所以需要转换一下。 Graphics2D g2 = (Graphics2D)g; // 下面你就可以使用g2画图了。注意,默认坐标原点是Component的左上角。}2) 你当前的绘图区的大小与JLabel大小是一致的。因为我们不要弧线,只要直线,所以,你要把Arc的Retangle设置的比JLable本身大,并且Top-Left点为负值。并且,设置JFrame的resizable为false。基本上就这些。有关Java2D的资料你可以参考: http://java.sun.com/j2se/1.3/docs/guide/2d/spec/j2d-bookTOC.doc.html其中我翻译过Chapter5和6,发表在我的blog(http://blog.csdn.net/Unagain),不过跟你现在的问题关系不大。 public void lineDemo extends JPanel{public void paint(Graphics g){ Line2D line = new Line2D(); line.setLine(0,0,100,0); g.draw(line); .... }} 新手求解答 急急急急急~~~~~~~~~~ 在cmd中运行javac需要设环境变量码? 一个简单的关于线程同步问题 菜鸟提问 几个关于 java 多态性的问题 List对象的clone 小女子有个棘手的问题请教各位学长 紧急问题,求教! 这样的进程会一直在系统里吗? 为什么要用this,说详细点 成员变量是int型数组时 主方法调用时输出的是? 请谈一下同步异步是什么并说明区别 哪位高手可以解答一下Proxy类?
2)坐标转换。和其它绘图系统一样,java2D的坐标系如下所示: (0, 0)
+--->x
|
|
V y
从你的问题看,你可能要把中心放在中央,另外,可能会采用我们习惯的坐标系。所以,需要转换。步骤:
1) 选择画布
java2D的图可以画在任何Component上,现在通常画在JLabel或者JPanel上,推荐使用JLabel。建一个JLabel的子类,重载paintComponent(Graphics g)方法。
注意,格式是这样的。paintComponent(Graphics g) {
//最好加上这句,虽然你当前的需求不需要这么做
super.paintComponent(g); // Graphics2D提供了更多的绘图支持,所以需要转换一下。
Graphics2D g2 = (Graphics2D)g; // 下面你就可以使用g2画图了。注意,默认坐标原点是Component的左上角。
}2) 你当前的绘图区的大小与JLabel大小是一致的。因为我们不要弧线,只要直线,所以,你要把Arc的Retangle设置的比JLable本身大,并且Top-Left点为负值。并且,设置JFrame的resizable为false。基本上就这些。有关Java2D的资料你可以参考:
http://java.sun.com/j2se/1.3/docs/guide/2d/spec/j2d-bookTOC.doc.html
其中我翻译过Chapter5和6,发表在我的blog(http://blog.csdn.net/Unagain),不过跟你现在的问题关系不大。
public void lineDemo extends JPanel{
public void paint(Graphics g){
Line2D line = new Line2D();
line.setLine(0,0,100,0);
g.draw(line); ....
}
}