2009-01-13 226 views
5

我正在使用Windows XP上的Java KIOSK系統。而且需要做一個屏幕鍵盤。我不知道該怎麼做。所以你們可以幫助我做到這一點。任何人都有一些想法。 謝謝Swing屏幕鍵盤

+0

什麼操作系統? – Stormenet 2009-01-13 08:18:34

+0

請在您的問題中提供任何其他信息。不是每個用戶都會閱讀評論 – guerda 2009-01-13 09:33:21

回答

4

我在SWT和AWT中爲我的公司實現了一個OSK。

我們使用ini文件中可以定義鍵盤佈局(大小,字體,鍵盤線的模樣,關鍵標籤和按鍵動作)

首先,你應該生成鍵盤讀取初始化OSK佈局這些ini文件。這樣做非常快。 您應該在創建的按鈕上以及頂部窗口上啓用聚焦功能。否則,獲取關鍵動作的組件始終失去焦點。

第二步是實現事件分派管理器。您必須將OSK密鑰事件發送到所有偵聽事件對象。您可以使用Robot發送活動,或者使用FocusManager獲得關注的組件並直接設置它。

對於SWT它非常好,但在AWT中它們是一些線程和聚焦問題。

-1

這一個在搜索如何去java/swing中鎖定kiosk模式顯示... - 我花了一段時間才知道如何做到這一點,這裏是任何結束在這裏的人作爲我做了:

public class FullScreen extends JWindow { 

    public FullScreen() 
    { 

     getContentPane().add(new JLabel("A JFrame Kiosk"), BorderLayout.NORTH); 

     JButton closeButton = new JButton("Close"); 

     closeButton.addActionListener(new ActionListener() 
      { 
       public void actionPerformed(ActionEvent ae) 
       { 
        System.out.println("Close button Pressed"); 
        FullScreen.this.setVisible(false); 
        System.exit(0); 
       } 
      }); 
     getContentPane().add(closeButton, BorderLayout.CENTER); 
    } 

    public static void main(String[] args) throws Exception { 

     SwingUtilities.invokeLater(new Runnable() { 
      public void run() {  
       GraphicsEnvironment. 
        getLocalGraphicsEnvironment(). 
         getDefaultScreenDevice(). 
          setFullScreenWindow(new FullScreen()); 
       } 
     }); 
    } 
}