7

I noticed that i was unable to cut and copy in JPasswordField? Now how to copy/cut the selected part of the password to clipboard? Are there any methods to do this?

JavaTechnical
  • 8,846
  • 8
  • 61
  • 97

1 Answers1

8

Simple, use this method

JPasswordField jt=new JPasswordField(20);

            // Put client property
            jt.putClientProperty("JPasswordField.cutCopyAllowed",true);

            add(jt);

By default, the password in the JPasswordField is not allowed to be cut/copied. All you need to do is to enable them.

As per the comment on disabling paste i didn't find a property, but i have achieved using this, (i dont recommend this way)

jt.getActionMap().put("a",null);
        jt.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("ctrl V"),"a");

Another way, is to do override the paste() (i recommend this way) while declaring

JPasswordField jt=new JPasswordField(20){
  public void paste(){}
};

Update: I misunderstood the comment. But the above does disabling paste. However to disable any one of the copy/cut/paste, it is better if the required method that is to be disabled is overrided with no implementation in it.

If there is a much better way, i would love to hear.

JavaTechnical
  • 8,846
  • 8
  • 61
  • 97