能说的具体点么,我刚学不久拉
我现在已经把JPanel设置为监视源了,利用鼠标的进行绘制直线
我现在已经把JPanel设置为监视源了,利用鼠标的进行绘制直线
解决方案 »
- 为什么数组下标(index)只能为int不能为long?
- 请问用jacob 操作IamgeMagick 实现的pdf转换成html的代码怎么写
- java StringBuffer equals
- 问个问题 web项目进入页面是 index.jsp 如何显示多个 在tomcat页上
- [正则表达式] 如何实现空格check
- 新手,求解答.
- 如何将STRING "2003-11-01 11:12:23" 转为系统时间long。急急~!
- package的简单问题,在线等,第一个回答对,全送。
- 如何更新我的.....(高分相送,我会再加贴子的)
- tnnd,心情不好,散点分。
- 输入检查
- 一个List对象能直接存入数据库吗?
要不然无法使我画的直线左右拖拉啊!!!
boolean contains(Point2D p) ;可以将鼠标点坐标转换为point2D,然后可判断是否在此Line2D内(当然在鼠标事件中还可以设置其Line2D对象外形,如加粗等表示选中)
如果只需 长与短的操作可如下
:
在直线的两端 加上二个节点
让后添加事件
void mousePressed(MouseEvent e)
{
if(e.getClickCount() == 1)
{
Point pt = e.getPoint();
nodeIndex = getNode(pt);//转化到你的节点索引 ,如果只有二个,则getNode()比较简单
//表示单击后是否选择了 两端的节点
}
}
void mouseDragged(MouseEvent e)
{
Point pt = e.getPoint();
if(nodeIndex != -1)
{
if(nodeIndex == 0)
{
reDraw( pt,endPoint);//示意函数,表示你需要重新划一条 当前的点起点,
}
else
{
reDraw( pt,endPoint);//示意函数,表示你需要重新划一条 当前的点终点, }
}
}
写错lereDraw( startPoint,pt);//