切り取りとコピーができないことに気付きましたJPasswordField
か? パスワードの選択した部分をクリップボードにコピー/カットする方法は?これを行う方法はありますか?
質問する
1164 次
1 に答える
8
簡単です、この方法を使用してください
JPasswordField jt=new JPasswordField(20);
// Put client property
jt.putClientProperty("JPasswordField.cutCopyAllowed",true);
add(jt);
デフォルトでは、 のパスワードのJPasswordField
切り取り/コピーは許可されていません。必要なのは、それらを有効にすることだけです。
貼り付けの無効化に関するコメントによると、プロパティは見つかりませんでしたが、これを使用して達成しました(この方法はお勧めしません)
jt.getActionMap().put("a",null);
jt.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("ctrl V"),"a");
別の方法は、宣言中にオーバーライドすることですpaste()
(この方法をお勧めします)
JPasswordField jt=new JPasswordField(20){
public void paste(){}
};
更新:コメントを誤解しました。しかし、上記は貼り付けを無効にします。ただし、コピー/切り取り/貼り付けのいずれかを無効にするには、無効にする必要のあるメソッドを実装せずにオーバーライドすることをお勧めします。
もっと良い方法があれば、ぜひ聞きたいです。
于 2013-07-17T17:30:36.540 に答える