SWING - JTextField Class
Introduction
The class JTextField is a component which allows the editing of a single line of text.
Class declaration
Following is the declaration for javax.swing.JTextField class −
public class JTextField extends JTextComponent implements SwingConstants
Field
Following are the fields for javax.swing.JList class −
static String notifyAction − Name of the action to send notification that the contents of the field have been accepted.
Class constructors
S.N. | Constructor & Description |
---|---|
1 | JTextField() Constructs a new TextField. |
2 | JTextField(Document doc, String text, int columns) Constructs a new JTextField that uses the given text storage model and the given number of columns. |
3 | JTextField(int columns) Constructs a new empty TextField with the specified number of columns. |
4 | JTextField(String text) Constructs a new TextField initialized with the specified text. |
5 | JTextField(String text, int columns) Constructs a new TextField initialized with the specified text and columns. |
Class methods
S.N. | Method & Description |
---|---|
1 | protected void actionPropertyChanged(Action action, String propertyName) Updates the textfield's state in response to property changes in associated action. |
2 | void addActionListener(ActionListener l) Adds the specified action listener to receive action events from this textfield. |
3 | protected void configurePropertiesFromAction(Action a) Sets the properties on this textfield to match those in the specified Action. |
4 | protected PropertyChangeListener createActionPropertyChangeListener(Action a) Creates and returns a PropertyChangeListener that is responsible for listening for changes from the specified Action and updating the appropriate properties. |
5 | protected Document createDefaultModel() Creates the default implementation of the model to be used at construction if one isn't explicitly given. |
6 | protected void fireActionPerformed() Notifies all listeners that have registered interest for notification on this event type. |
7 | AccessibleContext getAccessibleContext() Gets the AccessibleContext associated with this JTextField. |
8 | Action getAction() Returns the currently set Action for this ActionEvent source, or null if no Action is set. |
9 | ActionListener[] getActionListeners() Returns an array of all the ActionListeners added to this JTextField with addActionListener(). |
10 | Action[] getActions() Fetches the command list for the editor. |
11 | int getColumns() Returns the number of columns in this TextField. |
12 | protected int getColumnWidth() Returns the column width. |
13 | int getHorizontalAlignment() Returns the horizontal alignment of the text. |
14 | BoundedRangeModel getHorizontalVisibility() Gets the visibility of the text field. |
15 | Dimension getPreferredSize() Returns the preferred size Dimensions needed for this TextField. |
16 | int getScrollOffset() Gets the scroll offset, in pixels. |
17 | String getUIClassID() Gets the class ID for a UI. |
18 | boolean isValidateRoot() Calls to revalidate that come from within the textfield itself will be handled by validating the textfield, unless the textfield is contained within a JViewport, in which case this returns false. |
19 | protected String paramString() Returns a string representation of this JTextField. |
20 | void postActionEvent() Processes action events occurring on this textfield by dispatching them to any registered ActionListener objects. |
21 | void removeActionListener(ActionListener l) Removes the specified action listener so that it no longer receives action events from this textfield. |
22 | void scrollRectToVisible(Rectangle r) Scrolls the field left or right. |
23 | void setAction(Action a) Sets the Action for the ActionEvent source. |
24 | void setActionCommand(String command) Sets the command string used for action events. |
25 | void setColumns(int columns) Sets the number of columns in this TextField, and then invalidate the layout. |
26 | void setDocument(Document doc) Associates the editor with a text document. |
27 | void setFont(Font f) Sets the current font. |
28 | void setHorizontalAlignment(int alignment) Sets the horizontal alignment of the text. |
29 | void setScrollOffset(int scrollOffset) Sets the scroll offset, in pixels. |
Methods inherited
This class inherits methods from the following classes:
javax.swing.text.JTextComponent
javax.swing.JComponent
java.awt.Container
java.awt.Component
java.lang.Object
JTextField Example
Create the following java program using any editor of your choice in say D:/ > SWING > com > tutorialspoint > gui >
SwingControlDemo.javapackage com.tutorialspoint.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingControlDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; public SwingControlDemo(){ prepareGUI(); } public static void main(String[] args){ SwingControlDemo swingControlDemo = new SwingControlDemo(); swingControlDemo.showTextFieldDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Java Swing Examples"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); headerLabel = new JLabel("", JLabel.CENTER); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showTextFieldDemo(){ headerLabel.setText("Control in action: JTextField"); JLabel namelabel= new JLabel("User ID: ", JLabel.RIGHT); JLabel passwordLabel = new JLabel("Password: ", JLabel.CENTER); final JTextField userText = new JTextField(6); final JPasswordField passwordText = new JPasswordField(6); JButton loginButton = new JButton("Login"); loginButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String data = "Username " + userText.getText(); data += ", Password: " + new String(passwordText.getPassword()); statusLabel.setText(data); } }); controlPanel.add(namelabel); controlPanel.add(userText); controlPanel.add(passwordLabel); controlPanel.add(passwordText); controlPanel.add(loginButton); mainFrame.setVisible(true); } }
Compile the program using command prompt. Go to D:/ > SWING and type the following command.
D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java
If no error comes that means compilation is successful. Run the program using following command.
D:\SWING>java com.tutorialspoint.gui.SwingControlDemo
Verify the following output
![Swing JTextField](/swing/images/swing_jtextfield.jpg)