簡體   English   中英

Swing GUI不接受重音符號

[英]Swing GUI doesn't accept accent characters

我面臨一個奇怪的問題。 我的Java應用程序不接受帶有重音符號的字符,例如é,è或ê。 Swing組件JTextField將其轉換為e。 此外,我無法插入:

很奇怪,因為它不適用於旨在分發給用戶的已編譯和打包的應用程序(JAR文件)。 當我在Eclipse中執行應用程序時,一切正常:這些字符被接受。

我在啟動時檢查了使用的VM編碼。 他們是不同的。 打包的應用程序使用Cp1252,並且Eclipse以“ ISO -...”啟動它。 系統屬性“ file.encoding”相應顯示相關的編碼。 因此,我嘗試切換編碼,以便在Eclipse中重現該問題或在我的應用程序中對其進行修復。 但是結果和以前一樣。

你知道發生了什么嗎?

好的,問題不是由Java或任何編碼設置引起的。 我的應用程序掛接了所有關鍵事件。 有一個組件消耗了“死鍵”的鍵事件。 這就是為什么編輯器組件(或JTextField)沒有從事件分發程序接收到鍵事件的原因。

在OpenJDK錯誤跟蹤器中有一個關於Swing的錯誤參考: https : //bugs.openjdk.java.net/browse/JDK-8064448

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM