谁能帮我写这个函数?
要求是画一条箭头线,线条起点是(x1,y1),终点是(x2,y2),箭头画在终点上。public void drawArrowLine(Graphics2D g,int x1,int y1,int x2,int y2){ ...}
要求是画一条箭头线,线条起点是(x1,y1),终点是(x2,y2),箭头画在终点上。public void drawArrowLine(Graphics2D g,int x1,int y1,int x2,int y2){ ...}
解决方案 »
- 向上转型
- 求解hibernate一个问题,比较头痛
- 学struts 时,那些是重要的?
- 需要用java在一个指定的cmd窗口中输入一个字母,例如“y”,再回车,分管够
- 为什么会出现这个错误
- 为什么从RESULTSET记录集中读数据时,老是少读一行?
- 请问在jbuilder里如何设置classpath和path?
- 我是java新手,为何出现Exception in thread "main" java.lang.NoClassDefFoundError: d:\java\bitwisedemo
- 有关jtable的问题
- 在Applet中,如何生成弹出式级联菜单??即JPopupMenu 中又有子JPopupMenu??Thanks!!
- 据说很多人都没答上的JAVA面试题
- JAVA新手提问
Arrow arrow=new Arrow();
arrow.drawArrow(g,100,100,Math.PI/4,100,Arrow.SIDE_LEAD);
}for example :import java.awt.*;public class Arrow {
public static final int SIDE_LEAD=0,
SIDE_TRAIL=1,
SIDE_BOTH=2,
SIDE_NONE=3;
public final double pi=Math.PI;
public Arrow () { ; } public void drawArrow(Graphics g,
int x,int y,
double theta,
int length,
int side) {
try {
if (length < 0) {
theta+=pi;
length*=-1;
}
int x1,y1;
x1=(int)Math.ceil(x + length*Math.cos(theta));
y1=(int)Math.ceil(y - length*Math.sin(theta));
g.drawLine(x,y,x1,y1); switch (side) {
case SIDE_LEAD :
drawArrow(g,x1,y1,theta+5*pi/4,5,SIDE_NONE);
drawArrow(g,x1,y1,theta+3*pi/4,5,SIDE_NONE);
break;
case SIDE_TRAIL :
drawArrow(g,x,y,theta-pi/4,5,SIDE_NONE);
drawArrow(g,x,y,theta+pi/4,5,SIDE_NONE);
break;
case SIDE_BOTH :
drawArrow(g,x,y,theta-pi/4,5,SIDE_NONE);
drawArrow(g,x,y,theta+pi/4,5,SIDE_NONE);
drawArrow(g,x1,y1,theta+5*pi/4,5,SIDE_NONE);
drawArrow(g,x1,y1,theta+3*pi/4,5,SIDE_NONE);
break;
case SIDE_NONE :
break;
default:
throw new IllegalArgumentException();
}
}
catch (IllegalArgumentException iae) {
System.out.println("Invalid value for variable side.");
}
}
}
public void drawArrowLine(Graphics2D g,int x1,int y1,int x2,int y2)谢谢!