java swt button_Java SWT.BUTTON3属性代码示例

private void sendMouseEventToFX(MouseEvent me, int embedMouseType) {

if (scenePeer == null) {

return;

}

Point los = toDisplay(me.x, me.y);

boolean primaryBtnDown = (me.stateMask & SWT.BUTTON1) != 0;

boolean middleBtnDown = (me.stateMask & SWT.BUTTON2) != 0;

boolean secondaryBtnDown = (me.stateMask & SWT.BUTTON3) != 0;

boolean shift = (me.stateMask & SWT.SHIFT) != 0;

boolean control = (me.stateMask & SWT.CONTROL) != 0;

boolean alt = (me.stateMask & SWT.ALT) != 0;

boolean meta = (me.stateMask & SWT.COMMAND) != 0;

int button = me.button;

switch (embedMouseType) {

case AbstractEvents.MOUSEEVENT_PRESSED:

primaryBtnDown |= me.button == 1;

middleBtnDown |= me.button == 2;

secondaryBtnDown |= me.button == 3;

break;

case AbstractEvents.MOUSEEVENT_RELEASED:

primaryBtnDown &= me.button != 1;

middleBtnDown &= me.button != 2;

secondaryBtnDown &= me.button != 3;

break;

case AbstractEvents.MOUSEEVENT_CLICKED:

// Don't send click events to FX, as they are generated in Scene

return;

case AbstractEvents.MOUSEEVENT_MOVED:

case AbstractEvents.MOUSEEVENT_DRAGGED:

case AbstractEvents.MOUSEEVENT_ENTERED:

case AbstractEvents.MOUSEEVENT_EXITED:

// If this event was the result of mouse movement and has no

// button associated with it, then we look at the state to

// determine which button to report

if (button == 0) {

if ((me.stateMask & SWT.BUTTON1) != 0) {

button = 1;

} else if ((me.stateMask & SWT.BUTTON2) != 0) {

button = 2;

} else if ((me.stateMask & SWT.BUTTON3) != 0) {

button = 3;

}

}

break;

default:

break;

}

scenePeer.mouseEvent(

embedMouseType,

SWTEvents.mouseButtonToEmbedMouseButton(button, me.stateMask),

primaryBtnDown, middleBtnDown, secondaryBtnDown,

me.x, me.y,

los.x, los.y,

shift, control, alt, meta,

SWTEvents.getWheelRotation(me, embedMouseType),

false); // RT-32990: popup trigger not implemented

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值