java.awt.event.InputEvent#getMaskForButton()源码实例Demo

下面列出了java.awt.event.InputEvent#getMaskForButton() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jdk1.8-source-analysis   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码2 项目: dragonwell8_jdk   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码3 项目: jdk8u_jdk   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码4 项目: jdk8u60   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码5 项目: jdk8u-jdk   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码6 项目: JDKSourceCode1.8   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码7 项目: openjdk-8-source   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码8 项目: openjdk-jdk8u-backup   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码9 项目: Bytecoder   文件: Robot.java
@SuppressWarnings("deprecation")
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码10 项目: openjdk-jdk9   文件: Robot.java
@SuppressWarnings("deprecation")
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码11 项目: jdk8u-jdk   文件: Robot.java
private static synchronized void initLegalButtonMask() {
    if (LEGAL_BUTTON_MASK != 0) return;

    int tmpMask = 0;
    if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
        if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
            final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
            for (int i = 0; i < buttonsNumber; i++){
                tmpMask |= InputEvent.getMaskForButton(i+1);
            }
        }
    }
    tmpMask |= InputEvent.BUTTON1_MASK|
        InputEvent.BUTTON2_MASK|
        InputEvent.BUTTON3_MASK|
        InputEvent.BUTTON1_DOWN_MASK|
        InputEvent.BUTTON2_DOWN_MASK|
        InputEvent.BUTTON3_DOWN_MASK;
    LEGAL_BUTTON_MASK = tmpMask;
}
 
源代码12 项目: dragonwell8_jdk   文件: CheckGetMaskForButton.java
public static void main(String []s){
    System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
    CheckGetMaskForButton f = new CheckGetMaskForButton();
    int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
        System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
    }

    //get same array via reflection
    Object obj = AccessController.doPrivileged(
            new PrivilegedAction() {
        public Object run() {
            try {
                Class clazz = Class.forName("java.awt.event.InputEvent");
                Method method  = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
                if (method != null) {
                    method.setAccessible(true);
                    return method.invoke(null, (Object[])null);
                }
            }catch (Exception e){
                throw new RuntimeException("Test failed. Exception occured:", e);
            }
            return null;
        }
    });

    if (obj == null){
        throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
    }

    int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
    //check that length of API array greater or equals then Reflect array.
    if (Array.getLength(obj) < buttonMasksViaAPI.length){
        throw new RuntimeException("Test failed. The length of API array greater or equals then the length of  Reflect array.");
    }

    //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
    // same as for standard API.
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
        if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
            throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
        }
    }
    System.out.println("Test passed.");
}
 
源代码13 项目: jdk8u-dev-jdk   文件: CheckGetMaskForButton.java
public static void main(String []s){
    System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
    CheckGetMaskForButton f = new CheckGetMaskForButton();
    int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
        System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
    }

    //get same array via reflection
    Object obj = AccessController.doPrivileged(
            new PrivilegedAction() {
        public Object run() {
            try {
                Class clazz = Class.forName("java.awt.event.InputEvent");
                Method method  = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
                if (method != null) {
                    method.setAccessible(true);
                    return method.invoke(null, (Object[])null);
                }
            }catch (Exception e){
                throw new RuntimeException("Test failed. Exception occured:", e);
            }
            return null;
        }
    });

    if (obj == null){
        throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
    }

    int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
    //check that length of API array greater or equals then Reflect array.
    if (Array.getLength(obj) < buttonMasksViaAPI.length){
        throw new RuntimeException("Test failed. The length of API array greater or equals then the length of  Reflect array.");
    }

    //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
    // same as for standard API.
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
        if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
            throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
        }
    }
    System.out.println("Test passed.");
}
 
源代码14 项目: jdk8u_jdk   文件: CheckGetMaskForButton.java
public static void main(String []s){
    System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
    CheckGetMaskForButton f = new CheckGetMaskForButton();
    int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
        System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
    }

    //get same array via reflection
    Object obj = AccessController.doPrivileged(
            new PrivilegedAction() {
        public Object run() {
            try {
                Class clazz = Class.forName("java.awt.event.InputEvent");
                Method method  = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
                if (method != null) {
                    method.setAccessible(true);
                    return method.invoke(null, (Object[])null);
                }
            }catch (Exception e){
                throw new RuntimeException("Test failed. Exception occured:", e);
            }
            return null;
        }
    });

    if (obj == null){
        throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
    }

    int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
    //check that length of API array greater or equals then Reflect array.
    if (Array.getLength(obj) < buttonMasksViaAPI.length){
        throw new RuntimeException("Test failed. The length of API array greater or equals then the length of  Reflect array.");
    }

    //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
    // same as for standard API.
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
        if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
            throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
        }
    }
    System.out.println("Test passed.");
}
 
public static void main(String []s){
    System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
    CheckGetMaskForButton f = new CheckGetMaskForButton();
    int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
        System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
    }

    //get same array via reflection
    Object obj = AccessController.doPrivileged(
            new PrivilegedAction() {
        public Object run() {
            try {
                Class clazz = Class.forName("java.awt.event.InputEvent");
                Method method  = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
                if (method != null) {
                    method.setAccessible(true);
                    return method.invoke(null, (Object[])null);
                }
            }catch (Exception e){
                throw new RuntimeException("Test failed. Exception occured:", e);
            }
            return null;
        }
    });

    if (obj == null){
        throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
    }

    int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
    //check that length of API array greater or equals then Reflect array.
    if (Array.getLength(obj) < buttonMasksViaAPI.length){
        throw new RuntimeException("Test failed. The length of API array greater or equals then the length of  Reflect array.");
    }

    //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
    // same as for standard API.
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
        if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
            throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
        }
    }
    System.out.println("Test passed.");
}
 
源代码16 项目: openjdk-jdk9   文件: CheckGetMaskForButton.java
public static void main(String []s){
    System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
    CheckGetMaskForButton f = new CheckGetMaskForButton();
    int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
        System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
    }

    //get same array via reflection
    Object obj = AccessController.doPrivileged(
            new PrivilegedAction() {
        public Object run() {
            try {
                Class clazz = Class.forName("java.awt.event.InputEvent");
                Method method  = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
                if (method != null) {
                    method.setAccessible(true);
                    return method.invoke(null, (Object[])null);
                }
            }catch (Exception e){
                throw new RuntimeException("Test failed. Exception occured:", e);
            }
            return null;
        }
    });

    if (obj == null){
        throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
    }

    int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
    //check that length of API array greater or equals then Reflect array.
    if (Array.getLength(obj) < buttonMasksViaAPI.length){
        throw new RuntimeException("Test failed. The length of API array greater or equals then the length of  Reflect array.");
    }

    //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
    // same as for standard API.
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
        if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
            throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
        }
    }
    System.out.println("Test passed.");
}
 
源代码17 项目: jdk8u_jdk   文件: LWCToolkit.java
private static void doTest() {

        int x1 = frameBounds.x + frameBounds.width - 1;
        int y1 = frameBounds.y + frameBounds.height - 1;
        int x2 = frameBounds.x + frameBounds.width * 5 - 1;
        int y2 = frameBounds.y + frameBounds.height * 5 - 1;

        if (MouseInfo.getNumberOfButtons() < 1)
            throw new RuntimeException("The systems without a mouse");

        int button = 1;
        int buttonMask = InputEvent.getMaskForButton(button);

        for (int i = 0; i < ITERATION_NUMBER; i++) {
            robot.mouseMove(x1, y1);
            robot.waitForIdle();

            robot.mousePress(buttonMask);
            robot.waitForIdle();


            for (int j=2; j<10;j++) {

                robot.mouseMove(frameBounds.x + frameBounds.width * j - 1, frameBounds.y + frameBounds.height * j - 1);
                robot.waitForIdle();

            }
            robot.mouseRelease(buttonMask);
            robot.waitForIdle();

            robot.mousePress(buttonMask);
            robot.waitForIdle();

            for (int j=8; j>1;j--) {

                robot.mouseMove(frameBounds.x + frameBounds.width * j - 1, frameBounds.y + frameBounds.height * j - 1);
                robot.waitForIdle();

            }

            robot.mouseMove(x1, y1);
            robot.waitForIdle();

            robot.mouseRelease(buttonMask);
            robot.waitForIdle();
        }
    }
 
源代码18 项目: openjdk-8-source   文件: CheckGetMaskForButton.java
public static void main(String []s){
    System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
    CheckGetMaskForButton f = new CheckGetMaskForButton();
    int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
        System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
    }

    //get same array via reflection
    Object obj = AccessController.doPrivileged(
            new PrivilegedAction() {
        public Object run() {
            try {
                Class clazz = Class.forName("java.awt.event.InputEvent");
                Method method  = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
                if (method != null) {
                    method.setAccessible(true);
                    return method.invoke(null, (Object[])null);
                }
            }catch (Exception e){
                throw new RuntimeException("Test failed. Exception occured:", e);
            }
            return null;
        }
    });

    if (obj == null){
        throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
    }

    int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
    //check that length of API array greater or equals then Reflect array.
    if (Array.getLength(obj) < buttonMasksViaAPI.length){
        throw new RuntimeException("Test failed. The length of API array greater or equals then the length of  Reflect array.");
    }

    //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
    // same as for standard API.
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
        if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
            throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
        }
    }
    System.out.println("Test passed.");
}
 
源代码19 项目: jdk8u-jdk   文件: CheckGetMaskForButton.java
public static void main(String []s){
    System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
    CheckGetMaskForButton f = new CheckGetMaskForButton();
    int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
        System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
    }

    //get same array via reflection
    Object obj = AccessController.doPrivileged(
            new PrivilegedAction() {
        public Object run() {
            try {
                Class clazz = Class.forName("java.awt.event.InputEvent");
                Method method  = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
                if (method != null) {
                    method.setAccessible(true);
                    return method.invoke(null, (Object[])null);
                }
            }catch (Exception e){
                throw new RuntimeException("Test failed. Exception occured:", e);
            }
            return null;
        }
    });

    if (obj == null){
        throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
    }

    int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
    //check that length of API array greater or equals then Reflect array.
    if (Array.getLength(obj) < buttonMasksViaAPI.length){
        throw new RuntimeException("Test failed. The length of API array greater or equals then the length of  Reflect array.");
    }

    //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
    // same as for standard API.
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
        if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
            throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
        }
    }
    System.out.println("Test passed.");
}
 
源代码20 项目: hottub   文件: CheckGetMaskForButton.java
public static void main(String []s){
    System.out.println("Number Of Buttons = "+ MouseInfo.getNumberOfButtons());
    CheckGetMaskForButton f = new CheckGetMaskForButton();
    int [] buttonMasksViaAPI = new int[MouseInfo.getNumberOfButtons()];
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        buttonMasksViaAPI[i] = InputEvent.getMaskForButton(i+1);
        System.out.println("Test (API): "+ buttonMasksViaAPI[i]);
    }

    //get same array via reflection
    Object obj = AccessController.doPrivileged(
            new PrivilegedAction() {
        public Object run() {
            try {
                Class clazz = Class.forName("java.awt.event.InputEvent");
                Method method  = clazz.getDeclaredMethod("getButtonDownMasks",new Class [] {});
                if (method != null) {
                    method.setAccessible(true);
                    return method.invoke(null, (Object[])null);
                }
            }catch (Exception e){
                throw new RuntimeException("Test failed. Exception occured:", e);
            }
            return null;
        }
    });

    if (obj == null){
        throw new RuntimeException("Test failed. The value obtained via reflection is "+obj);
    }

    int [] buttonDownMasksViaReflection = new int [Array.getLength(obj)];
    //check that length of API array greater or equals then Reflect array.
    if (Array.getLength(obj) < buttonMasksViaAPI.length){
        throw new RuntimeException("Test failed. The length of API array greater or equals then the length of  Reflect array.");
    }

    //Check that the values obtained via reflection from InputEvent.BUTTON_DOWN_MASK are the
    // same as for standard API.
    for (int i = 0; i < MouseInfo.getNumberOfButtons(); i++){
        System.out.println("Test (Reflection): "+ Array.getInt(obj, i));
        if (buttonMasksViaAPI[i] != Array.getInt(obj, i)){
            throw new RuntimeException("Test failed. Values of InputEvent array are different for API and Reflection invocations");
        }
    }
    System.out.println("Test passed.");
}