如何增加Tshape的双击和单击事件

如何增加Tshape的双击和单击事件,第1张

onclick是单击事件,ondbclick是双击事件,这两个不冲突的好吧。最简单的,你设察做薯置单击事件的延时,在时间内再次单击就是双击事件,屏蔽掉败者单击;若是胡态在时间内没有再点击,就做单击事件处理

可以在shape的OnMouseDown里判搭携岩断鼠标两次双击的时间

在窗体隐衡定义一个私有变量fiClickTime: Integer

在OnMouseDown事件里判断:

if UINT(GetMessageTime - FiClickTime) <GetDoubleClickTime then

begin

fiClickTime := 0

//双击

end

else

begin

fiClickTime := GetMessageTime

//知御单击

end

一个例子:

第一步自己的panel内部 Ellipse

 class MyDrawPanel extends JComponent implements MouseListener {

       Ellipse2D oval = new Ellipse2D.Double(70, 70, 100, 100)

       ....

 }

 第二步 在paintComponent 使用fill(Shape) 绘图

  乎扮public void paintComponent(Graphics g) {

      ....

      Graphics2D g2d = (Graphics2D) g

      ....

      g2d.fill(oval)

  }

  

 第三步 鼠标岁液灶事件

 public void mouseClicked(MouseEvent e) {

   if ((e.getButton() == 1) && oval.contains(e.getX(), e.getY()) ) {

      repaint()

    // JOptionPane.showMessageDialog(null,e.getX()+ "\n" + e.getY())

  埋袜 }

 }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11972805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存