最近Java JTextFieldで奇妙な問題が発生しました。次のコードを実行すると(下記参照)、テキストフィールドに "0"を入力すると、まずペーストアクションが送信され、次に「0」が入力されます。たとえば、 "text"をクリップボードにコピーすると、 "0"を入力すると "text0"と入力されます。同様に、「4」と入力すると前の文字が「4」に置き換えられます(これは削除アクションであり、「4」が入力されたと思います)。 "7"と入力すると、テキストフィールドがクリアされます。ここでJTextField with Numpad
はコードです:
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame();
JTextField text = new JTextField();
frame.add(text);
frame.setSize(500, 500);
frame.setVisible(true);
}
}
問題は、Red Hat Linuxの(Windows XPからVNCを使用してアクセス)で発生しています。すべてがWindow XP上で期待どおりに実行されます。
更新:Ubuntuのプログラムにも問題はありません。私はまた、別のキーボードとVNCビューアを使ってみました。
アップデート2:Red HatのためのJavaバージョン
:XPの場合
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.7) (rhel-1.17.b17.el5-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
:
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode, sharing)
アップデート3は:三つの異なるRed Hatの上でプログラムを実行しようとしましたマシン(すべて同じグループの仕事場)にインストールし、さらに別のXP coコンピュータを再起動します。
更新4:今日私は、問題が魔法のように消え去ったことを見つけるために仕事に着きました。しかし、なぜ私は(そしてこの奇妙な問題に遭遇する他の誰かが)将来それを修正する方法を知っているように、それが最初に起こったを知ってうれしいです。
奇妙な...それはキーボードマッピングの問題かもしれないように聞こえますか?愚か私は知っているが、あなたは数字パッドのロックがオンであり、他のレッドハットのアプリケーションで期待どおりに動作することを確認しましたか? – bcr
ナンプラロックがオンになっていて、他のプログラムを入力するときにすべて正常に機能します。私はまた別のキーボードを使用してみました - 運がありません。 – lrAndroid
ここに見つかったもの:http://www.rvdavid.net/how-to-get-the-use-of-your-number-pad-back-in-ubuntu/ もちろん、Ubuntuだけどあなたの場合と同様の何か? – vaisakh