Wednesday, May 21, 2014

how to use textfield in java?





public class JTextField extends JTextComponent implements SwingConstants

JTextField is a lightweight component that allows the editing of a single line of text. JTextField is intended to be source-compatible with java.awt.TextField where it is reasonable to do so. This component has capabilities not found in the java.awt.TextField class.

JTextField has a method to establish the string used as the command string for the action event that gets fired. The java.awt.TextField used the text of the field as the command string for the ActionEvent. JTextField will use the command string set with the setActionCommand method if not null, otherwise it will use the text of the field as a compatibility with java.awt.TextField.

The method setEchoChar and getEchoChar are not provided directly to avoid a new implementation of a pluggable look-and-feel inadvertently exposing password characters. To provide password-like services a separate class JPasswordField extends JTextField to provide this service with an independently pluggable look-and-feel.

The java.awt.TextField could be monitored for changes by adding a TextListener for TextEvent's. In the JTextComponent based components, changes are broadcasted from the model via a DocumentEvent to DocumentListeners. The DocumentEvent gives the location of the change and the kind of change if desired. The code fragment might look something like:


     DocumentListener myListener = ??;
     JTextField myArea = ??;
     myArea.getDocument().addDocumentListener(myListener);

The horizontal alignment of JTextField can be set to be left justified, leading justified, centered, right justified or trailing justified. Right/trailing justification is useful if the required size of the field text is smaller than the size allocated to it. This is determined by the setHorizontalAlignment and getHorizontalAlignment methods. The default is to be leading justified.

How the text field consumes VK_ENTER events depends on whether the text field has any action listeners. If so, then VK_ENTER results in the listeners getting an ActionEvent, and the VK_ENTER event is consumed. This is compatible with how AWT text fields handle VK_ENTER events. If the text field has no action listeners, then as of v 1.3 the VK_ENTER event is not consumed. Instead, the bindings of ancestor components are processed, which enables the default button feature of JFC/Swing to work.


 JTextField.java


import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JLabel;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.Color;





public class JTextField extends JFrame {



            private JPanel contentPane;

            private javax.swing.JTextField textField;

            private javax.swing.JTextField textField_1;



            /**

             * Launch the application.

             */

            public static void main(String[] args) {

                        JTextField frame = new JTextField();

                        frame.setVisible(true);

                                                                                                          

            }



            /**

             * Create the frame.

             */

            public JTextField() {

                        setTitle("JTextField example");

                        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                        setBounds(100, 100, 450, 300);

                        contentPane = new JPanel();

                        setContentPane(contentPane);

                        contentPane.setLayout(null);

                contentPane.setBackground(Color.BLUE);

                      

                        textField = new javax.swing.JTextField();

                        textField.setBounds(228, 43, 121, 20);

                        contentPane.add(textField);

                        textField.setColumns(10);

                      

                        JLabel lblEnterYourName = new JLabel("Enter your Name");

                        lblEnterYourName.setBounds(40, 40, 102, 27);

                        contentPane.add(lblEnterYourName);

                      

                        JLabel lblEnterAddress = new JLabel("Enter Address");

                        lblEnterAddress.setBounds(40, 102, 86, 27);

                        contentPane.add(lblEnterAddress);

                      

                        textField_1 = new javax.swing.JTextField();

                        textField_1.setBounds(228, 105, 121, 20);

                        contentPane.add(textField_1);

                        textField_1.setColumns(10);

                      

                        final JButton btnSubmit = new JButton("Test");

                        btnSubmit.addActionListener(new ActionListener() {

                                    public void actionPerformed(ActionEvent arg0) {

                                                String txtfld1=textField.getText();

                                                String txtfld2=textField_1.getText();

                                                if(arg0.getSource()==btnSubmit)

                                                JOptionPane.showMessageDialog(JTextField.this,"Your name is "+txtfld1+" and address is "+txtfld2,"MessageBox",1);

                                    }

                        });

                        btnSubmit.setBounds(179, 198, 75, 23);

                        contentPane.add(btnSubmit);

            }

}



OUTPUT:-