Java by API/javax.swing/JTextField

Материал из Java эксперт
Перейти к: навигация, поиск

JTextField: addActionListener(ActionListener s)

   <source lang="java">

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class MainClass extends JPanel implements ActionListener {

 JTextField jtf = new JTextField(15);
 public MainClass() {

     add(jtf); 
     jtf.addActionListener(this); 
   } 
  
   // Show text when user presses ENTER. 
   public void actionPerformed(ActionEvent ae) { 
     System.out.println(jtf.getText()); 
   } 
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: addFocusListener(FocusListener l)

   <source lang="java">

import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import javax.swing.JFrame; import javax.swing.JTextField; public class Main {

 public static void main(String[] a) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTextField textField = new JTextField("A TextField");
   textField.addFocusListener(new FocusListener() {
     public void focusGained(FocusEvent e) {
       displayMessage("Focus gained", e);
     }
     public void focusLost(FocusEvent e) {
       displayMessage("Focus lost", e);
     }
     void displayMessage(String prefix, FocusEvent e) {
       System.out.println(prefix
           + (e.isTemporary() ? " (temporary):" : ":")
           + e.getComponent().getClass().getName()
           + "; Opposite component: "
           + (e.getOppositeComponent() != null ? e.getOppositeComponent().getClass().getName()
               : "null"));
     }
   });
   frame.add(textField,"North");
   frame.add(new JTextField(),"South");
   frame.setSize(300, 200);
   frame.setVisible(true);
 }

}

 </source>
   
  
 
  



JTextField: addKeyListener(KeyListener l)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.InputVerifier; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.JTextComponent; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTextField nameTextField = new JTextField();
   frame.add(nameTextField, BorderLayout.NORTH);
   KeyListener keyListener = new KeyListener() {
     public void keyPressed(KeyEvent keyEvent) {
       printIt("Pressed", keyEvent);
     }
     public void keyReleased(KeyEvent keyEvent) {
       printIt("Released", keyEvent);
     }
     public void keyTyped(KeyEvent keyEvent) {
       printIt("Typed", keyEvent);
     }
     private void printIt(String title, KeyEvent keyEvent) {
       int keyCode = keyEvent.getKeyCode();
       String keyText = KeyEvent.getKeyText(keyCode);
       System.out.println(title + " : " + keyText + " / " + keyEvent.getKeyChar());
     }
   };
   nameTextField.addKeyListener(keyListener);
   frame.setSize(250, 100);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: copy()

   <source lang="java">

import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; public class Main {

 JTextField jtf = new JTextField(15);
 JButton jbtnCut = new JButton("Cut");
 JButton jbtnPaste = new JButton("Paste");
 JButton jbtnCopy = new JButton("Copy");
 public Main() {
   JFrame jfrm = new JFrame("Cut, Copy, and Paste");
   jfrm.setLayout(new FlowLayout());
   jfrm.setSize(230, 150);
   jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
   jbtnCut.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.cut();
       update();
     }
   });
   jbtnPaste.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.paste();
       update();
     }
   });
   jbtnCopy.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.copy();
       update();
     }
   });
   jtf.addCaretListener(new CaretListener() {
     public void caretUpdate(CaretEvent ce) {
       update();
     }
   });
   jfrm.add(jtf);
   jfrm.add(jbtnCut);
   jfrm.add(jbtnPaste);
   jfrm.add(jbtnCopy);
   jfrm.setVisible(true);
 }
 private void update() {
   System.out.println("All text: " + jtf.getText());
   if (jtf.getSelectedText() != null)
     System.out.println("Selected text: " + jtf.getSelectedText());
   else
     System.out.println("Selected text: ");
 }
 public static void main(String args[]) {
   new Main();
 }

}

 </source>
   
  
 
  



JTextField: cut()

   <source lang="java">

import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; public class Main {

 JTextField jtf = new JTextField(15);
 JButton jbtnCut = new JButton("Cut");
 JButton jbtnPaste = new JButton("Paste");
 JButton jbtnCopy = new JButton("Copy");
 public Main() {
   JFrame jfrm = new JFrame("Cut, Copy, and Paste");
   jfrm.setLayout(new FlowLayout());
   jfrm.setSize(230, 150);
   jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
   jbtnCut.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.cut();
       update();
     }
   });
   jbtnPaste.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.paste();
       update();
     }
   });
   jbtnCopy.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.copy();
       update();
     }
   });
   jtf.addCaretListener(new CaretListener() {
     public void caretUpdate(CaretEvent ce) {
       update();
     }
   });
   jfrm.add(jtf);
   jfrm.add(jbtnCut);
   jfrm.add(jbtnPaste);
   jfrm.add(jbtnCopy);
   jfrm.setVisible(true);
 }
 private void update() {
   System.out.println("All text: " + jtf.getText());
   if (jtf.getSelectedText() != null)
     System.out.println("Selected text: " + jtf.getSelectedText());
   else
     System.out.println("Selected text: ");
 }
 public static void main(String args[]) {
   new Main();
 }

}

 </source>
   
  
 
  



JTextField: getActions()

   <source lang="java">

import java.awt.BorderLayout; import java.util.Hashtable; import javax.swing.Action; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.text.DefaultEditorKit; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame("Cut/Paste Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTextField textField = new JTextField();
   frame.add(textField, BorderLayout.NORTH);
   Action actions[] = textField.getActions();
   Action cutAction = findAction(actions, DefaultEditorKit.cutAction);
   Action copyAction = findAction(actions, DefaultEditorKit.copyAction);
   Action pasteAction = findAction(actions, DefaultEditorKit.pasteAction);
   JPanel panel = new JPanel();
   frame.add(panel, BorderLayout.SOUTH);
   JButton cutButton = new JButton(cutAction);
   cutButton.setText("Cut");
   panel.add(cutButton);
   JButton copyButton = new JButton(copyAction);
   copyButton.setText("Copy");
   panel.add(copyButton);
   JButton pasteButton = new JButton(pasteAction);
   pasteButton.setText("Paste");
   panel.add(pasteButton);
   frame.setSize(250, 250);
   frame.setVisible(true);
 }
 public static Action findAction(Action actions[], String key) {
   Hashtable<Object, Action> commands = new Hashtable<Object, Action>();
   for (int i = 0; i < actions.length; i++) {
     Action action = actions[i];
     commands.put(action.getValue(Action.NAME), action);
   }
   return commands.get(key);
 }

}


 </source>
   
  
 
  



JTextField: getCaretPosition()

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.text.BadLocationException; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Popup Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   final JTextField textField = new JTextField();
   frame.add(textField, BorderLayout.NORTH);
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
   
         int dotPosition = textField.getCaretPosition();
         Rectangle popupLocation = null;
         try {
           popupLocation = textField.modelToView(dotPosition);
         } catch (BadLocationException e) {
           e.printStackTrace();
         }
         System.out.println(popupLocation);
     }
   };
   
   
   KeyStroke keystroke =
     KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, 0, false);
   textField.registerKeyboardAction(actionListener, keystroke,
     JComponent.WHEN_FOCUSED);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: getDocument()

   <source lang="java">

import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.text.AbstractDocument; public class Main {

 public static void main(String[] args) {
   JFrame f = new JFrame("Text Field Elements");
   JTextField tf = new JTextField(32);
   tf.setText("That"s one small step for man...");
   f.getContentPane().add(tf);
   f.pack();
   f.setVisible(true);
   ((AbstractDocument) tf.getDocument()).dump(System.out);
 }

}

 </source>
   
  
 
  



JTextField: getHorizontalVisibility()

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BoundedRangeModel; import javax.swing.BoxLayout; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.JTextField; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame("Text Slider");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
   
   final TextSlider ts = new TextSlider();
   ts.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
       System.out.println("Text: " + ts.getText());
     }
   });
   
   
   frame.add(ts, BorderLayout.NORTH);
   frame.setSize(300, 100);
   frame.setVisible(true);
 }

} class TextSlider extends JPanel {

 private JTextField textField;
 private JScrollBar scrollBar;
 public TextSlider() {
   setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
   textField = new JTextField();
   scrollBar = new JScrollBar(JScrollBar.HORIZONTAL);
   BoundedRangeModel brm = textField.getHorizontalVisibility();
   scrollBar.setModel(brm);
   add(textField);
   add(scrollBar);
 }
 public JTextField getTextField() {
   return textField;
 }
 public String getText() {
   return textField.getText();
 }
 public void addActionListener(ActionListener l) {
   textField.addActionListener(l);
 }
 public void removeActionListener(ActionListener l) {
   textField.removeActionListener(l);
 }
 public JScrollBar getScrollBar() {
   return scrollBar;
 }

}


 </source>
   
  
 
  



JTextField: getHorizontalVisibility() (2)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BoundedRangeModel; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Offset Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JPanel panel = new JPanel(new BorderLayout());
   final JTextField textField = new JTextField();
   panel.add(textField, BorderLayout.CENTER);
   frame.add(panel, BorderLayout.NORTH);
   JButton button = new JButton("Get Offset");
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
       System.out.println("Offset: " + textField.getScrollOffset());
       System.out.println("Visibility: " + textField.getHorizontalVisibility());
       BoundedRangeModel model = textField.getHorizontalVisibility();
       int extent = model.getExtent();
       textField.setScrollOffset(extent);
     }
   };
   button.addActionListener(actionListener);
   frame.add(button, BorderLayout.SOUTH);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: getInputMap()

   <source lang="java">

import java.awt.Event; import java.awt.event.KeyEvent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.text.DefaultEditorKit; public class MainClass extends JFrame {

 MainClass(String title) {
   super(title);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JPanel jp = new JPanel();
   JLabel jl = new JLabel("Name:");
   jp.add(jl);
   JTextField jt = new JTextField(20);
   jp.add(jt);
   KeyStroke ks = KeyStroke.getKeyStroke(KeyEvent.VK_B, Event.CTRL_MASK);
   jt.getInputMap().put(ks, DefaultEditorKit.beepAction);
   getContentPane().add(jp);
   pack();
   setVisible(true);
 }
 public static void main(String[] args) {
   new MainClass("Binding Demo2");
 }

}


 </source>
   
  
 
  



JTextField: getKeymap()

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.text.Keymap; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Default Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTextField textField = new JTextField();
   frame.add(textField, BorderLayout.NORTH);
   JPanel panel = new JPanel();
   JButton defaultButton = new JButton("Default Button");
   defaultButton.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
       System.out.println(actionEvent.getActionCommand() + " selected");
     }
   });
   panel.add(defaultButton);
   JButton otherButton = new JButton("Other Button");
   otherButton.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
       System.out.println(actionEvent.getActionCommand() + " selected");
     }
   });
   panel.add(otherButton);
   frame.add(panel, BorderLayout.SOUTH);
   Keymap keymap = textField.getKeymap();
   KeyStroke keystroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false);
   keymap.removeKeyStrokeBinding(keystroke);
   frame.getRootPane().setDefaultButton(defaultButton);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: getScrollOffset()

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BoundedRangeModel; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Offset Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JPanel panel = new JPanel(new BorderLayout());
   final JTextField textField = new JTextField();
   panel.add(textField, BorderLayout.CENTER);
   frame.add(panel, BorderLayout.NORTH);
   JButton button = new JButton("Get Offset");
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
       System.out.println("Offset: " + textField.getScrollOffset());
       System.out.println("Visibility: " + textField.getHorizontalVisibility());
       BoundedRangeModel model = textField.getHorizontalVisibility();
       int extent = model.getExtent();
       textField.setScrollOffset(extent);
     }
   };
   button.addActionListener(actionListener);
   frame.add(button, BorderLayout.SOUTH);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField.LEADING

   <source lang="java">

import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JTextField; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Alignment Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setLayout(new GridLayout(0, 1));
   JTextField textField = new JTextField("Left");
   textField.setHorizontalAlignment(JTextField.LEFT);
   frame.add(textField);
   textField = new JTextField("Center");
   textField.setHorizontalAlignment(JTextField.CENTER);
   frame.add(textField);
   textField = new JTextField("Right");
   textField.setHorizontalAlignment(JTextField.RIGHT);
   frame.add(textField);
   textField = new JTextField("Leading");
   textField.setHorizontalAlignment(JTextField.LEADING);
   frame.add(textField);
   textField = new JTextField("Trailing");
   textField.setHorizontalAlignment(JTextField.TRAILING);
   frame.add(textField);
   frame.pack();
   frame.setSize(250, (int) frame.getSize().getHeight());
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField.LEFT

   <source lang="java">

import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JTextField; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Alignment Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setLayout(new GridLayout(0, 1));
   JTextField textField = new JTextField("Left");
   textField.setHorizontalAlignment(JTextField.LEFT);
   frame.add(textField);
   textField = new JTextField("Center");
   textField.setHorizontalAlignment(JTextField.CENTER);
   frame.add(textField);
   textField = new JTextField("Right");
   textField.setHorizontalAlignment(JTextField.RIGHT);
   frame.add(textField);
   textField = new JTextField("Leading");
   textField.setHorizontalAlignment(JTextField.LEADING);
   frame.add(textField);
   textField = new JTextField("Trailing");
   textField.setHorizontalAlignment(JTextField.TRAILING);
   frame.add(textField);
   frame.pack();
   frame.setSize(250, (int) frame.getSize().getHeight());
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: modelToView(int pos)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.text.BadLocationException; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Popup Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   final JTextField textField = new JTextField();
   frame.add(textField, BorderLayout.NORTH);
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
   
         int dotPosition = textField.getCaretPosition();
         Rectangle popupLocation = null;
         try {
           popupLocation = textField.modelToView(dotPosition);
         } catch (BadLocationException e) {
           e.printStackTrace();
         }
         System.out.println(popupLocation);
     }
   };
   
   
   KeyStroke keystroke =
     KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, 0, false);
   textField.registerKeyboardAction(actionListener, keystroke,
     JComponent.WHEN_FOCUSED);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: paste()

   <source lang="java">

import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; public class Main {

 JTextField jtf = new JTextField(15);
 JButton jbtnCut = new JButton("Cut");
 JButton jbtnPaste = new JButton("Paste");
 JButton jbtnCopy = new JButton("Copy");
 public Main() {
   JFrame jfrm = new JFrame("Cut, Copy, and Paste");
   jfrm.setLayout(new FlowLayout());
   jfrm.setSize(230, 150);
   jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
   jbtnCut.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.cut();
       update();
     }
   });
   jbtnPaste.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.paste();
       update();
     }
   });
   jbtnCopy.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent le) {
       jtf.copy();
       update();
     }
   });
   jtf.addCaretListener(new CaretListener() {
     public void caretUpdate(CaretEvent ce) {
       update();
     }
   });
   jfrm.add(jtf);
   jfrm.add(jbtnCut);
   jfrm.add(jbtnPaste);
   jfrm.add(jbtnCopy);
   jfrm.setVisible(true);
 }
 private void update() {
   System.out.println("All text: " + jtf.getText());
   if (jtf.getSelectedText() != null)
     System.out.println("Selected text: " + jtf.getSelectedText());
   else
     System.out.println("Selected text: ");
 }
 public static void main(String args[]) {
   new Main();
 }

}

 </source>
   
  
 
  



JTextField: read(Reader in, Object desc)

   <source lang="java">

import java.awt.BorderLayout; import java.io.FileReader; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JTextField; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTextField nameTextField = new JTextField();
   frame.add(nameTextField, BorderLayout.NORTH);
   
   FileReader reader = null;
   try {
     reader = new FileReader("fileName.txt");
     nameTextField.read(reader, "fileName.txt");
   } catch (IOException exception) {
     System.err.println("Load oops");
     exception.printStackTrace();
   } finally {
     if (reader != null) {
       try {
         reader.close();
       } catch (IOException exception) {
         System.err.println("Error closing reader");
         exception.printStackTrace();
       }
     }
   }
   
   frame.setSize(250, 100);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: registerKeyboardAction(ActionListener anAction,String aCommand,KeyStroke aKeyStroke,int aCondition)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.text.BadLocationException; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Popup Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   final JTextField textField = new JTextField();
   frame.add(textField, BorderLayout.NORTH);
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
   
         int dotPosition = textField.getCaretPosition();
         Rectangle popupLocation = null;
         try {
           popupLocation = textField.modelToView(dotPosition);
         } catch (BadLocationException e) {
           e.printStackTrace();
         }
         System.out.println(popupLocation);
     }
   };
   
   
   KeyStroke keystroke =
     KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, 0, false);
   textField.registerKeyboardAction(actionListener, keystroke,
     JComponent.WHEN_FOCUSED);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: requestFocus()

   <source lang="java">

import javax.swing.JTextField; import javax.swing.SwingUtilities; public class Main {

 public static void main(String[] argv) throws Exception {
   final JTextField textfield = new JTextField(10);
   SwingUtilities.invokeLater(new Runnable() {
     public void run() {
       textfield.requestFocus();
     }
   });
 }

}

 </source>
   
  
 
  



JTextField: setDocument(Document doc)

   <source lang="java">

import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; class JTextFieldLimit extends PlainDocument {

 private int limit;
 JTextFieldLimit(int limit) {
   super();
   this.limit = limit;
 }
 JTextFieldLimit(int limit, boolean upper) {
   super();
   this.limit = limit;
 }
 public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {
   if (str == null)
     return;
   if ((getLength() + str.length()) <= limit) {
     super.insertString(offset, str, attr);
   }
 }

} public class Main extends JFrame {

 JTextField textfield1;
 JLabel label1;
 public void init() {
   setLayout(new FlowLayout());
   label1 = new JLabel("max 10 chars");
   textfield1 = new JTextField(15);
   add(label1);
   add(textfield1);
   textfield1.setDocument(new JTextFieldLimit(10));
   
   setSize(300,300);
   setVisible(true);
 }

}

 </source>
   
  
 
  



JTextField: setFocusAccelerator(char aKey)

   <source lang="java">

import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.SwingConstants; public class Main {

 public static void main(String[] args) {
   JLabel l;
   JTextField t;
   JButton b;
   JFrame f = new JFrame("Text Accelerator");
   
   f.add(l = new JLabel("Name:", SwingConstants.RIGHT));
   l.setDisplayedMnemonic("n");
   f.add(l = new JLabel("House/Street:", SwingConstants.RIGHT));
   l.setDisplayedMnemonic("h");
   f.add(l = new JLabel("City:", SwingConstants.RIGHT));
   l.setDisplayedMnemonic("c");
   f.add(l = new JLabel("State/County:", SwingConstants.RIGHT));
   l.setDisplayedMnemonic("s");
   f.add(l = new JLabel("Zip/Post code:", SwingConstants.RIGHT));
   l.setDisplayedMnemonic("z");
   f.add(l = new JLabel("Telephone:", SwingConstants.RIGHT));
   l.setDisplayedMnemonic("t");
   f.add(b = new JButton("Clear"));
   b.setMnemonic("l");
   f.add(t = new JTextField(35));
   t.setFocusAccelerator("n");
   f.add(t = new JTextField(35));
   t.setFocusAccelerator("h");
   f.add(t = new JTextField(35));
   t.setFocusAccelerator("c");
   f.add(t = new JTextField(35));
   t.setFocusAccelerator("s");
   f.add(t = new JTextField(35));
   t.setFocusAccelerator("z");
   f.add(t = new JTextField(35));
   t.setFocusAccelerator("t");
   f.add(b = new JButton("OK"));
   b.setMnemonic("o");
   f.pack();
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   f.setVisible(true);
 }

}

 </source>
   
  
 
  



JTextField: setHorizontalAlignment(int alignment)

   <source lang="java">

import javax.swing.JTextField; public class Main{

 public static void main(String[] argv) {
   JTextField textfield = new JTextField(10);
   textfield.setHorizontalAlignment(JTextField.RIGHT);
 }

}

 </source>
   
  
 
  



JTextField: setInputVerifier(InputVerifier input)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.InputVerifier; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.JTextComponent; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTextField nameTextField = new JTextField();
   frame.add(nameTextField, BorderLayout.NORTH);
   frame.add(new JTextField(), BorderLayout.SOUTH);
   InputVerifier verifier = new InputVerifier() {
     public boolean verify(JComponent input) {
       final JTextComponent source = (JTextComponent) input;
       String text = source.getText();
       if ((text.length() != 0) && !(text.equals("Exit"))) {
         JOptionPane.showMessageDialog(source, "Can"t leave.", "Error Dialog",
             JOptionPane.ERROR_MESSAGE);
         return false;
       } else {
         return true;
       }
     }
   };
   nameTextField.setInputVerifier(verifier);
   
   frame.setSize(250, 100);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: setNavigationFilter(NavigationFilter filter)

   <source lang="java">

import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.NavigationFilter; import javax.swing.text.Position; public class MainClass {

 public static void main(String args[]) throws Exception {
   final String START_STRING = "Start\n";
   final int START_STRING_LENGTH = START_STRING.length();
   JFrame frame = new JFrame("Navigation Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTextArea textArea = new JTextArea(START_STRING);
   textArea.setCaretPosition(START_STRING_LENGTH);
   JScrollPane scrollPane = new JScrollPane(textArea);
   frame.add(scrollPane, BorderLayout.CENTER);
   NavigationFilter filter = new NavigationFilter() {
     public void setDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias) {
       if (dot < START_STRING_LENGTH) {
         fb.setDot(START_STRING_LENGTH, bias);
       } else {
         fb.setDot(dot, bias);
       }
     }
     public void moveDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias) {
       if (dot < START_STRING_LENGTH) {
         fb.setDot(START_STRING_LENGTH, bias);
       } else {
         fb.setDot(dot, bias);
       }
     }
   };
   textArea.setNavigationFilter(filter);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: setPreferredSize(Dimension preferredSize)

   <source lang="java">

import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class Main {

 public static void main(String[] args) {
   JTextField tf = new JTextField("mm");
   tf.setPreferredSize(tf.getPreferredSize());
   tf.setText("");
   JPanel pHacked = new JPanel();
   pHacked.add(tf);
   JPanel pStock = new JPanel();
   pStock.add(new JTextField(2));
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setLayout(new java.awt.GridLayout(0, 1));
   frame.add(pHacked);
   frame.add(pStock);
   frame.setSize(150, 150);
   frame.setVisible(true);
   tf.requestFocus();
 }

}

 </source>
   
  
 
  



JTextField: setTransferHandler(TransferHandler newHandler)

   <source lang="java">

      

/**

* Demonstrate various aspects of Swing "data transfer".
* @author Ian Darwin, http://www.darwinsys.ru
* @author Jonathan Fuerth, http://www.SQLPower.ca
*/       
      

import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSlider; import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.TransferHandler; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class MainClass extends JFrame {

 public static void main(String[] args) {
   new MainClass().setVisible(true);
 }
 private JTextField tf;
 private JLabel l;
 private JComboBox propertyComboBox;
 public MainClass() {
   Container cp = new Box(BoxLayout.X_AXIS);
   setContentPane(cp);
   JPanel firstPanel = new JPanel();
   propertyComboBox = new JComboBox();
   propertyComboBox.addItem("text");
   propertyComboBox.addItem("font");
   propertyComboBox.addItem("background");
   propertyComboBox.addItem("foreground");
   firstPanel.add(propertyComboBox);
   cp.add(firstPanel);
   cp.add(Box.createGlue());
   tf = new JTextField("Hello");
   tf.setForeground(Color.RED);
   tf.setDragEnabled(true);
   cp.add(tf);
   cp.add(Box.createGlue());
   l = new JLabel("Hello");
   l.setBackground(Color.YELLOW);
   cp.add(l);
   cp.add(Box.createGlue());
   JSlider stryder = new JSlider(SwingConstants.VERTICAL);
   stryder.setMinimum(10);
   stryder.setValue(14);
   stryder.setMaximum(72);
   stryder.setMajorTickSpacing(10);
   stryder.setPaintTicks(true);
   cp.add(stryder);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   setSize(500, 300);
   setMyTransferHandlers((String) propertyComboBox.getSelectedItem());
   MouseListener myDragListener = new MouseAdapter() {
     public void mousePressed(MouseEvent e) {
       JComponent c = (JComponent) e.getSource();
       TransferHandler handler = c.getTransferHandler();
       handler.exportAsDrag(c, e, TransferHandler.COPY);
     }
   };
   l.addMouseListener(myDragListener);
   propertyComboBox.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent ce) {
       JComboBox bx = (JComboBox) ce.getSource();
       String prop = (String) bx.getSelectedItem();
       setMyTransferHandlers(prop);
     }
   });
   tf.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent evt) {
       JTextField jtf = (JTextField) evt.getSource();
       String fontName = jtf.getText();
       Font font = new Font(fontName, Font.BOLD, 18);
       tf.setFont(font);
     }
   });
   stryder.addChangeListener(new ChangeListener() {
     public void stateChanged(ChangeEvent evt) {
       JSlider sl = (JSlider) evt.getSource();
       Font oldf = tf.getFont();
       Font newf = oldf.deriveFont((float) sl.getValue());
       tf.setFont(newf);
     }
   });
 }
 private void setMyTransferHandlers(String s) {
   TransferHandler th = new TransferHandler(s);
   tf.setTransferHandler(th);
   l.setTransferHandler(th);
 }

}


 </source>
   
  
 
  



JTextField.TRAILING

   <source lang="java">

import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JTextField; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Alignment Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setLayout(new GridLayout(0, 1));
   JTextField textField = new JTextField("Left");
   textField.setHorizontalAlignment(JTextField.LEFT);
   frame.add(textField);
   textField = new JTextField("Center");
   textField.setHorizontalAlignment(JTextField.CENTER);
   frame.add(textField);
   textField = new JTextField("Right");
   textField.setHorizontalAlignment(JTextField.RIGHT);
   frame.add(textField);
   textField = new JTextField("Leading");
   textField.setHorizontalAlignment(JTextField.LEADING);
   frame.add(textField);
   textField = new JTextField("Trailing");
   textField.setHorizontalAlignment(JTextField.TRAILING);
   frame.add(textField);
   frame.pack();
   frame.setSize(250, (int) frame.getSize().getHeight());
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JTextField: write(Writer out)

   <source lang="java">

import java.awt.BorderLayout; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JTextField; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JTextField nameTextField = new JTextField();
   frame.add(nameTextField, BorderLayout.NORTH);
   
   FileWriter writer = null;
   try {
     writer = new FileWriter("filename.txt");
     nameTextField.write(writer);
   } catch (IOException exception) {
     System.err.println("Save oops");
     exception.printStackTrace();
   } finally {
     if (writer != null) {
       try {
         writer.close();
       } catch (IOException exception) {
         System.err.println("Error closing writer");
         exception.printStackTrace();
       }
     }
   }
   
   frame.setSize(250, 100);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



new JTextField(String text)

   <source lang="java">

import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class Main {

 public static void main(String[] args) {
   JTextField tf = new JTextField("mm");
   tf.setPreferredSize(tf.getPreferredSize());
   tf.setText("");
   JPanel pHacked = new JPanel();
   pHacked.add(tf);
   JPanel pStock = new JPanel();
   pStock.add(new JTextField(2));
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setLayout(new java.awt.GridLayout(0, 1));
   frame.add(pHacked);
   frame.add(pStock);
   frame.setSize(150, 150);
   frame.setVisible(true);
   tf.requestFocus();
 }

}

 </source>
   
  
 
  



new JTextField(String text, int columns)

   <source lang="java">

import javax.swing.*; import java.awt.*; public class Main extends JFrame {

 public Main() {
   super("JTextField Test");
   getContentPane().setLayout(new FlowLayout());
   JTextField textField1 = new JTextField("1", 1);
   JTextField textField2 = new JTextField("22", 2);
   JTextField textField3 = new JTextField("333", 3);
   getContentPane().add(textField1);
   getContentPane().add(textField2);
   getContentPane().add(textField3);
   setSize(300, 170);
   setVisible(true);
 }
 public static void main(String argv[]) {
   new Main();
 }

}


 </source>