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

Java में JTextField को केवल नंबर स्वीकार करने के लिए कैसे बनाएं?

डिफ़ॉल्ट रूप से, एक JTextField नंबर्स, कैरेक्टर्स, और स्पेशल कैरेक्टर्स की अनुमति देता है। JTextField में टाइप किए गए यूज़र इनपुट को मान्य करना मुश्किल हो सकता है, खासकर अगर इनपुट स्ट्रिंग को int जैसे न्यूमेरिक वैल्यू में कन्वर्ट करना हो।

नीचे दिए गए उदाहरण में, JTextField केवल न्यूमेरिक वैल्यूज़ एंटर करने की अनुमति देता है।

उदाहरण

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

public class JTextFieldValidation extends JFrame { 
    JTextField tf; 
    Container container; 
    JLabel label; 
    
    public JTextFieldValidation() { 
        container = getContentPane(); 
        setBounds(0, 0, 500, 300); 
        tf = new JTextField(25); 
        setLayout(new FlowLayout()); 
        container.add(new JLabel("Enter the number")); 
        container.add(tf); 
        container.add(label = new JLabel()); 
        label.setForeground(Color.red); 
        setDefaultCloseOperation(EXIT_ON_CLOSE); 
        setLocationRelativeTo(null); 
        
        tf.addKeyListener(new KeyAdapter() { 
            public void keyPressed(KeyEvent ke) { 
                String value = tf.getText(); 
                int l = value.length(); 
                if (ke.getKeyChar() >= '0' && ke.getKeyChar() <= '9') { 
                    tf.setEditable(true); 
                    label.setText(""); 
                } else { 
                    tf.setEditable(false); 
                    label.setText("* Enter only numeric digits(0-9)"); 
                } 
            } 
        }); 
        setVisible(true); 
    } 
    
    public static void main(String[] args) { 
        new JTextFieldValidation(); 
    } 
}

आउटपुट

टेक्स्ट फील्ड में केवल अंक (0-9) दर्ज किए जा सकते हैं। कोई अन्य कैरेक्टर दर्ज करने पर एडिटिंग डिसेबल हो जाती है और लाल रंग में एरर मैसेज दिखता है।

नोट: यह दृष्टिकोण KeyListener का उपयोग करता है, लेकिन आधुनिक Java एप्लिकेशन्स में DocumentFilter का उपयोग करना अधिक बेहतर और विश्वसनीय माना जाता है।
  1. Java में JTextField की कट, कॉपी और पेस्ट कार्यक्षमता कैसे लागू करें? Java में JTextField की कट, कॉपी और पेस्ट कार्यक्षमता कैसे लागू करें?

    एक JTextField JTextComponent क्लास का एक उपवर्ग है जो टेक्स्ट की एकल लाइन के संपादन की अनुमति देता है। हम cut(), copy() और paste() विधियों का उपयोग करके JTextField घटक में कट, कॉपी और पेस्ट की कार्यक्षमता लागू कर सकते हैं। ये पहले से परिभाषित विधियाँ JTextFeild क्लास में हैं। सिंटैक्स public void c

  1. Java में JToggleButton कैसे लागू करें Java में JToggleButton कैसे लागू करें

    JToggleButtonएक JToggleButton AbstractButton का एक्सटेंशन है और इसका उपयोग उन बटनों को दर्शाने के लिए किया जा सकता है जिन्हें ON और OFF किया जा सकता है।जब JToggleButton को पहली बार दबाया जाता है, तो यह दबा हुआ रहता है और इसे केवल दूसरी बार दबाने पर रिलीज़ किया जा सकता है।एक JToggleButton हर बार दबाए

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

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