Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでJPasswordFieldのエコー文字を表示/非表示にするにはどうすればよいですか?


JPasswordField JTextFieldのサブクラスです JPasswordFieldに入力された各文字 エコーに置き換えることができます キャラクター 。これにより、パスワードの機密入力が可能になります。デフォルトでは、エコー文字はアスタリスク(* )です。 )。 JPasswordFieldの重要なメソッドは、パスワードを取得です。 () getText() getAccessibleContext() など。デフォルトでは、JPasswordFieldは表示できます。 エコー キャラクター非表示できます エコー キャラクター JCheckBox をクリックして、使用する元のテキストを表示します 。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public final class ShowJPasswordTest extends JPanel {
   private JPasswordField pf1;
   private JCheckBox jcb;
   private JPanel panel;
   public ShowJPasswordTest() {
      pf1 = makePasswordField();
      jcb = new JCheckBox("Show Passwords");
      jcb.addActionListener(ae -> {
         JCheckBox c = (JCheckBox) ae.getSource();
         pf1.setEchoChar(c.isSelected() ? '\u0000' : (Character)          UIManager.get("PasswordField.echoChar"));
      });
      panel = new JPanel(new BorderLayout());
      panel.add(pf1);
      panel.add(jcb, BorderLayout.SOUTH);
      add(makeTitledPanel("Show/Hide Password", panel));
      setBorder(BorderFactory.createEmptyBorder(2, 5, 2, 5));
   }
   private static JPasswordField makePasswordField() {
      JPasswordField pf = new JPasswordField(20);
      pf.setText("tutorialspoint");
      pf.setAlignmentX(Component.RIGHT_ALIGNMENT);
      return pf;
   }
   private static Component makeTitledPanel(String title, Component cmp) {
      JPanel p = new JPanel(new GridBagLayout());
      p.setBorder(BorderFactory.createTitledBorder(title));
      GridBagConstraints c = new GridBagConstraints();
      c.weightx = 1d;
      c.fill = GridBagConstraints.HORIZONTAL;
      c.insets = new Insets(5, 5, 5, 5);
      p.add(cmp, c);
      return p;
   }
   public static void main(String[] args) {
      JFrame frame = new JFrame("Show/HidePasswordField Test");
      frame.getContentPane().add(new ShowJPasswordTest());
      frame.setSize(375, 250);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
   }
}
enum PasswordField {
   SHOW, HIDE;
}

出力

エコーキャラクターを表示

JavaでJPasswordFieldのエコー文字を表示/非表示にするにはどうすればよいですか?


エコーキャラクターを隠す

JavaでJPasswordFieldのエコー文字を表示/非表示にするにはどうすればよいですか?



  1. JButtonのHTMLテキストをJavaで実装するにはどうすればよいですか?

    JButton AbstractButtonのサブクラスです これは、JavaSwing階層の重要なコンポーネントです。 JButton 主にログインベースのアプリケーションで使用できます。 JButton ActionListenerを生成できます 押すかクリックするときのインターフェース ボタン。 JButtonにはテキストがあります またはアイコン またはテキストとアイコンの両方 、太字の斜体テキストを実装することもできます HTMLを使用する タグ。 例 import java.awt.*; import javax.swing.*; public class JBut

  2. JavaでJPanelのpaintComponent()メソッドを実装するにはどうすればよいですか?

    JPanel は軽量のコンテナであり、見えない コンポーネント Javaで。 JPanelのデフォルトのレイアウトはFlowLayout 。 JPanelを作成したら、他のコンポーネントを JPanelに追加できます。 add()を呼び出してオブジェクトを作成します コンテナから継承されたメソッド クラス。 paintComponent() このメソッドは、 JPanelで何かを描画するために必要です 背景色を描く以外。このメソッドは、 JPanelにすでに存在します スーパーを使用する必要があるようにクラス このメソッドに何かを追加し、グラフィックスを取る宣言 オブジェクト パラメータ