115 * low-level input control. This exception is always thrown when
116 * GraphicsEnvironment.isHeadless() returns true.
117 * @throws IllegalArgumentException if {@code screen} is not a screen
118 * GraphicsDevice.
119 * @throws SecurityException if {@code createRobot} permission is not granted
120 * @see java.awt.GraphicsEnvironment#isHeadless
121 * @see GraphicsDevice
122 * @see SecurityManager#checkPermission
123 * @see AWTPermission
124 */
125 public Robot(GraphicsDevice screen) throws AWTException {
126 checkHeadless();
127 checkIsScreenDevice(screen);
128 init(screen);
129 }
130
131 private void init(GraphicsDevice screen) throws AWTException {
132 checkRobotAllowed();
133 Toolkit toolkit = Toolkit.getDefaultToolkit();
134 if (toolkit instanceof ComponentFactory) {
135 peer = ((ComponentFactory)toolkit).createRobot(this, screen);
136 }
137 initLegalButtonMask();
138 }
139
140 @SuppressWarnings("deprecation")
141 private static synchronized void initLegalButtonMask() {
142 if (LEGAL_BUTTON_MASK != 0) return;
143
144 int tmpMask = 0;
145 if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
146 if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
147 final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
148 for (int i = 0; i < buttonsNumber; i++){
149 tmpMask |= InputEvent.getMaskForButton(i+1);
150 }
151 }
152 }
153 tmpMask |= InputEvent.BUTTON1_MASK|
154 InputEvent.BUTTON2_MASK|
155 InputEvent.BUTTON3_MASK|
|
115 * low-level input control. This exception is always thrown when
116 * GraphicsEnvironment.isHeadless() returns true.
117 * @throws IllegalArgumentException if {@code screen} is not a screen
118 * GraphicsDevice.
119 * @throws SecurityException if {@code createRobot} permission is not granted
120 * @see java.awt.GraphicsEnvironment#isHeadless
121 * @see GraphicsDevice
122 * @see SecurityManager#checkPermission
123 * @see AWTPermission
124 */
125 public Robot(GraphicsDevice screen) throws AWTException {
126 checkHeadless();
127 checkIsScreenDevice(screen);
128 init(screen);
129 }
130
131 private void init(GraphicsDevice screen) throws AWTException {
132 checkRobotAllowed();
133 Toolkit toolkit = Toolkit.getDefaultToolkit();
134 if (toolkit instanceof ComponentFactory) {
135 peer = ((ComponentFactory)toolkit).createRobot(screen);
136 }
137 initLegalButtonMask();
138 }
139
140 @SuppressWarnings("deprecation")
141 private static synchronized void initLegalButtonMask() {
142 if (LEGAL_BUTTON_MASK != 0) return;
143
144 int tmpMask = 0;
145 if (Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled()){
146 if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
147 final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
148 for (int i = 0; i < buttonsNumber; i++){
149 tmpMask |= InputEvent.getMaskForButton(i+1);
150 }
151 }
152 }
153 tmpMask |= InputEvent.BUTTON1_MASK|
154 InputEvent.BUTTON2_MASK|
155 InputEvent.BUTTON3_MASK|
|