Здравствуйте дороги пользователи сайта java-soft, сегодня поговорим о классе JtexrField, так же приведем не сколько примеров по его использованию в своих приложениях. Для объявления класса используем:
1 |
JTextField textField= new JTextField(); |
Следующий пример показан JtexrField с заданным за ранее текстом.
1 |
JTextField textField = new JTextField("Hello World"); |
В следующем примере создан JtexrField с заранее заданным количеством столбцов.
1 |
JTextField textField = new JTextField(30); |
Хотел показать вам еще один пример ограничения или запрет ввода JtexrField по максимальной длине символов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import javax.swing.text.*; public class JTextFieldLimit extends PlainDocument { private int limit; // дополнительного преобразования прописных private boolean toUppercase = false; JTextFieldLimit(int limit) { super(); this.limit = limit; } JTextFieldLimit(int limit, boolean upper) { super(); this.limit = limit; toUppercase = upper; } public void insertString (int offset, String str, AttributeSet attr) throws BadLocationException { if (str == null) return; if ((getLength() + str.length()) <= limit) { if (toUppercase) str = str.toUpperCase(); super.insertString(offset, str, attr); } } } import java.awt.*; import javax.swing.*; public class tswing extends JApplet{ JTextField textfield1; JLabel label1; public void init() { getContentPane().setLayout(new FlowLayout()); // label1 = new JLabel("max 10 chars"); textfield1 = new JTextField(15); getContentPane().add(label1); getContentPane().add(textfield1); textfield1.setDocument (new JTextFieldLimit(10)); } } |