Java 摆动变焦应用
我试图设计一个缩放应用程序,它可以缩放鼠标指针周围的矩形区域 /* *要更改此许可证标题,请在“项目属性”中选择“许可证标题”。 *要更改此模板文件,请选择工具|模板 *然后在编辑器中打开模板。 */ 包装缩放Java 摆动变焦应用,java,swing,Java,Swing,我试图设计一个缩放应用程序,它可以缩放鼠标指针周围的矩形区域 /* *要更改此许可证标题,请在“项目属性”中选择“许可证标题”。 *要更改此模板文件,请选择工具|模板 *然后在编辑器中打开模板。 */ 包装缩放 import java.awt.AWTException; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.MouseInfo; import java
import java.awt.AWTException;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.PointerInfo;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
/**
*
* @author keyur Parekh
*/
public class Zoom extends JFrame implements Runnable {
Robot r;
Window wnd;
int width, height;
/**
*/
public Zoom() {
try {
r = new Robot();
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
width = (int) d.getWidth();
height = (int) d.getHeight();
System.out.println(width + " " + height);
wnd = new Window(this);
wnd.setSize(400, 400);
wnd.setLocation(0, 0);
wnd.setVisible(true);
} catch (AWTException e) {
System.out.println(e);
}
Thread t = new Thread();
t.start();
}
public static void main(String[] args) {
new Zoom();
}
@Override
public void run() {
while (true) {
PointerInfo pi = MouseInfo.getPointerInfo();
Point p = pi.getLocation();
int x = (int) p.getX();
int y = (int) p.getY();
Graphics g = wnd.getGraphics();
Rectangle rect = new Rectangle(x, y, 150, 150);
BufferedImage img = r.createScreenCapture(rect);
g.drawImage(img, 0, 0, 250, 250, Color.white, this);
}
}
}
在这种情况下,输出并不像预期的那样出现,窗口正常打开,但当我将鼠标悬停在它上面时,它只是没有放大。。。。
由于此图像是打印屏幕,因此不显示鼠标指针,但仅显示在窗口上
有人能帮帮我吗。对不起,伙计们,我已经找到了为什么会发生这种情况的答案。在初始化参数中的thread类时,我应该提供关于应该运行哪个run方法的信息,所以初始化必须是这样的
Thread t = new Thread(this)
你打算怎么办?请复习你的问题。