2015-04-16 47 views
-1

我試圖設計一個變焦的應用程序,放大矩形,其周邊鼠標指針的區域...搖擺變焦應用

/* * 要改變這種許可證頭,選擇在項目屬性許可頭。 *要更改此模板文件,請選擇工具|模板 *並在編輯器中打開模板。 */ 包縮放;

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); 
     } 
    } 

} 

在本作它應該是,在窗口中正常打開輸出不來,但是當我懸停我的鼠標,它只是不放大了.... enter image description here 由於這一形象是printscreen,它沒有顯示鼠標指針,但它只在窗口上。

所以有人可以幫助我。

+1

你打算怎麼做?請檢查您的問題。 – itshorty

回答

0

對不起,我已經找到了答案,爲什麼會發生這種情況。在初始化參數中的線程類的同時,我應該已經提供了應該運行哪種運行方法,因此初始化必須是這樣的...

Thread t = new Thread(this)