Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा में JPasswordField के अंदर अंकों की संख्या को कैसे प्रतिबंधित करें?


JPasswordField JTextField का एक सबक्लास है और JPasswordField में दर्ज प्रत्येक वर्ण को एक इको वर्ण से बदला जा सकता है। यह पासवर्ड के लिए गोपनीय इनपुट की अनुमति देता है। JPasswordField के महत्वपूर्ण मेथड्स हैं getPassword(), getText(), getAccessibleContext() आदि। डिफ़ॉल्ट रूप से, हम JPasswordField के अंदर किसी भी संख्या में अंक दर्ज कर सकते हैं। यदि हम DocumentFilter क्लास को लागू करके और replace() मेथड को ओवरराइड करके उपयोगकर्ता द्वारा दर्ज अंकों को प्रतिबंधित करना चाहते हैं।

सिंटैक्स

public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException

उदाहरण

import java.awt.*; import java.awt.*; import javax.swing.*; import javax.swing.text.*; 
public class JPasswordFieldDigitLimitTest extends JFrame { 
    private JPasswordField passwordField; 
    private JPanel panel; 
    public JPasswordFieldDigitLimitTest() { 
        panel = new JPanel(); 
        ((FlowLayout) panel.getLayout()).setHgap(2); 
        panel.add(new JLabel("पिन दर्ज करें: ")); 
        passwordField = new JPasswordField(4); 
        PlainDocument document = (PlainDocument) passwordField.getDocument(); 
        document.setDocumentFilter(new DocumentFilter() { 
            @Override 
            public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException { 
                String string = fb.getDocument().getText(0, fb.getDocument().getLength()) + text; 
                if (string.length() <= 4) { 
                    super.replace(fb, offset, length, text, attrs); 
                } 
            } 
        }); 
        panel.add(passwordField); 
        add(panel); 
        setSize(400, 300); 
        setDefaultCloseOperation(EXIT_ON_CLOSE); 
        setLocationRelativeTo(null); 
        setVisible(true); 
    } 
    public static void main(String[] args) { 
        new JPasswordFieldDigitLimitTest(); 
    } 
}

आउटपुट

जावा में JPasswordField के अंदर अंकों की संख्या को कैसे प्रतिबंधित करें?


  1. Java में JTextArea के अंदर बोल्ड टेक्स्ट कैसे प्रदर्शित करें? Java में JTextArea के अंदर बोल्ड टेक्स्ट कैसे प्रदर्शित करें?

    एक JTextArea क्लास JTextComponent को विस्तारित करती है और उपयोगकर्ता को इसके अंदर टेक्स्ट की कई लाइनें दर्ज करने की अनुमति देती है। एक JTextArea एक CaretListener इंटरफ़ेस उत्पन्न कर सकता है, जो कैरेट अपडेट इवेंट को सुन सकता है। हम setFont() विधि का उपयोग करके JTextArea के अंदर टेक्स्ट पर फ़ॉन्ट सेट

  1. Java में संख्या गिनने का प्रोग्राम कैसे लागू करें? Java में संख्या गिनने का प्रोग्राम कैसे लागू करें?

    प्रोग्राम एक JLabel का उपयोग काउंट लेबल रखने के लिए करता है, एक JTextField घटक संख्या काउंट रखने के लिए, JButton घटक जोड़ें, हटाएं और रीसेट बटन बनाने के लिए। जब हम ऐड बटन पर क्लिक करते हैं, तो JTextField में काउंट 1 से बढ़ जाता है और रिमूव बटन पर क्लिक करके काउंट 1 से घट जाता है। यदि हम रीसेट बटन प

  1. Java में JTextField में कैरेक्टर्स की संख्या कैसे सीमित करें Java में JTextField में कैरेक्टर्स की संख्या कैसे सीमित करें

    एक JTextField सबसे महत्वपूर्ण कंपोनेंट्स में से एक है जो उपयोगकर्ता को सिंगल लाइन फॉर्मेट में एक इनपुट टेक्स्ट वैल्यू दर्ज करने की अनुमति देता है। एक JTextField में उपयोगकर्ता द्वारा दर्ज किए जा सकने वाले कैरेक्टर्स की संख्या को PlainDocument क्लास का उपयोग करके प्रतिबंधित किया जा सकता है।नीचे दिए ग