डिफ़ॉल्ट रूप से, एक JTextField संख्याओं की अनुमति दे सकते हैं , अक्षर , और विशेष अक्षर . JTextField . में टाइप किए गए उपयोगकर्ता इनपुट को मान्य करना मुश्किल हो सकता है, खासकर अगर इनपुट स्ट्रिंग को एक संख्यात्मक मान जैसे कि एक int में परिवर्तित किया जाना चाहिए।
नीचे दिए गए उदाहरण में, JTextField केवल संख्यात्मक मान entering दर्ज करने की अनुमति देता है ।
उदाहरण
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(); } }
आउटपुट