JPasswordField
'da kesilip kopyalanamadığımı fark ettim. Şimdi şifrenin seçilen kısmını panoya nasıl kopyalayabilirim/kesebilirim? Bunu yapmak için herhangi bir yöntem var mı? BasitJPasswordField'da nasıl kesme, kopyalama etkinleştirilir?
5
A
cevap
6
, bu yöntemi varsayılan olarak
JPasswordField jt=new JPasswordField(20);
// Put client property
jt.putClientProperty("JPasswordField.cutCopyAllowed",true);
add(jt);
kullanın JPasswordField
parola kopyalanan/kesilecek izin verilmez. Tek yapmanız gereken onları etkinleştirmektir.
, ama bu kullanarak elde ettik, başka yolu
jt.getActionMap().put("a",null);
jt.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("ctrl V"),"a");
(i bu şekilde tavsiye etmiyoruz), paste()
(geçersiz do etmektir
JPasswordField jt=new JPasswordField(20){
public void paste(){}
};
Güncelleme beyan ederken i) bu şekilde tavsiye: Ben yorumunu yanlış. Ancak yukarıdaki yapıştırmayı devre dışı bırakıyor. Bununla birlikte, kopyalama/kesme/yapıştırma işlemlerinden herhangi birini devre dışı bırakmak için, devre dışı bırakılacak gerekli yöntemin, uygulama yapılmadan geçersiz kılınması daha iyidir.
Daha iyi bir yol varsa, duymak isterim.
Bu, iyi bir kesmek görevi görür. –
lol soru sorduğunuzda cevap verirsiniz – nachokk
@nachokk ["sadece sormak ve kendi sorunuzu cevaplamak için OK değil, _explicitly_ teşvik edilir"] (http://blog.stackoverflow.com/2011/07/its -ok-to-sor-ve-cevap-kendi-soruları /) – DannyMo