我用JUNG程序在Java中制作了PluggableGraphMouse和2个EditingGraphMousePluggings。如果我设置的调节剂要留给点击右键单击它工作完全正常,这里是setModifiers代码:JUNG和Java的MouseEvents
ovalMouse.setModifiers(MouseEvent.BUTTON1_MASK);
circleMouse.setModifiers(MouseEvent.BUTTON3_MASK);
什么,但是我想是已经离开点击做一两件事,SHIFT +左键点击(而不是右键点击)做另一个。我尝试了所有我能想到的组合,但我似乎无法使其发挥作用。下面是一些比较合乎逻辑的组合,我已经试过了不工作的:
//My logic here is Button1 AND Shift is down but this doesn't work
circleMouse.setModifiers(MouseEvent.BUTTON1_MASK & MouseEvent.SHIFT_DOWN_MASK);
// My logic here is Button1 AND Shift but this doesn't work either
circleMouse.setModifiers(MouseEvent.BUTTON1_MASK & MouseEvent.SHIFT_MASK);
// Also tried InputEvents but those didn't work either
circleMouse.setModifiers(InputEvent.BUTTON1_DOWN_MASK & InputEvent.SHIFT_DOWN_MASK);
如果有人知道怎样才是正确的修饰符,所以我可以用按钮1 ovalMouse和按钮1 +转移为circleMouse请让我知道。谢谢。
嗯......不知道这是如何帮助我说实话。你写了一个布尔语句来检查修饰符是什么,Im的问题是用int语句来设置修饰符。如果我写circleMouse.setModifiers(MouseEvent.BUTTON1_MASK&MouseEvent.SHIFT_MASK);这不会正确启动。有没有人知道setModifiers行是需要什么来获得它的工作,而不是getModifiers行。 – fxtdr 2011-05-11 21:16:26
实际上,我没有看到'JUNG'会对我自己的测试中的MouseEvent的setModifiers(int)做任何影响。在我的测试中,修饰符将接受一个“int”值,其中该值是您感兴趣的一个或多个MouseEvent常量的组合。例如:'MouseEvent.SHIFT_MASK(0x1)| MouseEvent.BUTTON3_MASK(0x4)== 0x5'将在true时选择meta key'SHIFT + BUTTON3',从MouseEvent的getModifiers()获得。请参阅我的更新 – eee 2011-05-12 12:28:00
总结:您需要使用按位或'|'而不是按位与'''来组合面具。 – 2011-05-12 16:40:03