Ограничить инструмент увеличения в Java только окном приложения - PullRequest
0 голосов
/ 12 марта 2019

Мы пытаемся изменить существующую Java-программу, чтобы она подходила для слабовидящих, и одно из изменений, которое мы делаем, - это функция увеличения.

У нас есть код для увеличения изображения под мышью, но он влияет на весь экран, и мы хотим ограничить его только той программой Java, из которой он будет запускаться. Например. пользователь нажимает на меню доступности, затем увеличивает и все, что находится под его мышью, но только в окне приложения, увеличивается, а не все на всем экране.

import java.awt.event.*; 
import javax.swing.*; 
import java.awt.*; 
class magnify extends JFrame { 

// object 
static magnify m; 

// image 
Image i; 

// default constrcutor 
magnify() 
{ 
    // create a frame 
    super("magnify"); 

    // set size of frame 
    setSize(200, 220); 
    show(); 

    // function to magnify the image 
    work(); 
} 

// main function 
public static void main(String args[]) 
{ 

    // object of class 
    m = new magnify(); 
} 

public void work() 
{ 
    try { 
        // create a robot 
        Robot r = new Robot(); 

        // while the frame is visible 
        while (isVisible()) { 
            // get the position of mouse 
            Point p = MouseInfo.getPointerInfo().getLocation(); 

            // create a screen capture around the mouse pointer 
            i = r.createScreenCapture(new Rectangle((int)p.getX() - 30, 
                                                    (int)p.getY() - 30, 150, 150)); 

            // repaint the conatiner 
            repaint(); 
        } 
        // exit the program 
        System.exit(0); 
    } 
    catch (Exception e) { 
        System.err.println(e.getMessage()); 
    } 
} 

// paint function 
public void paint(Graphics g) 
{ 

    // draw the image 
    g.drawImage(i, 0, 0, 300, 300, this); 
} 
} 

Это код, который мы используем в данный момент в другом сообщении онлайн. Окно приложения можно изменять по размеру экрана, так же, как и собственное приложение.

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...