當我單擊Windows 8平板電腦中部署的基於Java Swing的應用程序中的文本字段時,屏幕鍵盤不會自動打開。我是否需要實現某些功能才能啓用此功能?Java Swing應用程序 - Window 8平板電腦 - 屏幕鍵盤
或者,是否有任何明確的設置來實現這種情況?
當我單擊Windows 8平板電腦中部署的基於Java Swing的應用程序中的文本字段時,屏幕鍵盤不會自動打開。我是否需要實現某些功能才能啓用此功能?Java Swing應用程序 - Window 8平板電腦 - 屏幕鍵盤
或者,是否有任何明確的設置來實現這種情況?
首先,輸入脫字符號是否出現在文本字段中?如果是這樣,你可以嘗試做java.awt.Component.requestFocus()或java.awt.Component.requestFocusInWindow()。如果兩者均失敗,則懷疑您的JVM和/或計算機出現問題。
一個特定的組件必須被啓用並且可聚焦(所有父組件也是如此)才能使文本字段關注。雖然默認的java屬性要讓新組件可以被聚焦和啓用,但是你可以通過執行setEnabled(true)來強制它們。和setFocusable(true);在你的組件上。焦點通常由閃爍的插入符號表示。
另外請確保您沒有任何使用鼠標事件的奇怪鼠標偵聽器。
如果一切都失敗了,ADD鼠標監聽器和焦點偵聽器的組件,以測試其接收的重點,並嘗試不同的方法來選擇它(通過tab鍵,通過鼠標點擊,通過觸摸輸入)。
Java是平臺無關的。假設你使用AWT/Swing對象,底層機制應該由JVM自動處理,不管它是在Windows 8還是Windows 98上(如果它支持這個版本的Java)。
是的,輸入插入符閃爍。焦點不是我的問題。它關於在Win 8平板電腦上加載屏幕鍵盤。我在Windows 8平板電腦上嘗試了一個簡單的JtextField示例,甚至沒有加載屏幕鍵盤。我所做的是,我爲Jtextfield編寫了一個HelloWorld種類的應用程序,運行該應用程序。它打開一個單一的文本字段,焦點已經在現場(閃爍的插入符號)。隨着觸摸,我手動將其放鬆焦點,並再次點擊文本字段。理想情況下,因爲它是一個文本字段,屏幕上的鍵盤應該彈出。但是這沒有發生。 –
@ViswanathT如果可能的話,在另一臺機器上嘗試你的應用程序(也可以使用Windows 8和觸摸屏)。如果甚至簡單的應用程序(如JTextField示例)不起作用。它可能是JVM搞亂了...... Needa弄清楚,如果它只是你的機器或者每一個帶觸摸屏的贏8。確保java更新到最新版本並嘗試乾淨的重新安裝(防止安裝不當)。 – initramfs