2016-08-04 41 views
0

我目前正在使用java編程虛擬鍵盤。如你所知,當用戶點擊我的虛擬鍵盤上的按鈕時,文本將出現在其他一些窗口中(比如一個word文檔)。那麼我該如何做這個動作呢?或者要更清楚,當用戶單擊按鈕並讓文本出現在單詞文檔中時如何更改窗口焦點? 謝謝!使用java更改專注窗口

回答

0

我希望下面的例子會幫助你開發鍵盤。幾點: 1.使用JWindow而不是JFrame或任何其他框架,以避免您的焦點問題。 2.使用機器人將按鍵事件轉移到活動光標。

運行下面的應用程序,並確保你的光標在textpad,按下窗口中的按鈕,字符插入在光標所在位置:

import java.awt.AWTException; 
import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.FlowLayout; 
import java.awt.Robot; 
import java.awt.event.KeyEvent; 
import java.awt.event.MouseAdapter; 
import java.awt.event.MouseEvent; 

import javax.swing.JButton; 
import javax.swing.JWindow; 

public class Runningwindow extends JWindow 
{ 
    public static void main(String[] args) throws AWTException 
    { 
    Runningwindow window = new Runningwindow(); 
    window.setBackground(Color.RED); 
    window.setPreferredSize(new Dimension(200, 200)); 
    window.setLayout(new FlowLayout()); 
    JButton button = new JButton("A"); 
    Robot r = new Robot(); 
    int keyCode = KeyEvent.VK_A; // the A key 
    button.addMouseListener(new MouseAdapter() { 

     public void mouseReleased(MouseEvent e) 
     { 
     r.keyRelease(keyCode); 
     } 

     public void mousePressed(MouseEvent e) 
     { 
     r.keyPress(keyCode); 
     } 
    }); 
    window.add(button); 
    window.pack(); 
    window.setVisible(true); 
    } 
}