JTextField
介绍 (Introduction)
JTextField类是一个允许编辑单行文本的组件。
Class 声明 (Class Declaration)
以下是javax.swing.JTextField类的声明 -
public class JTextField
extends JTextComponent
implements SwingConstants
字段 (Field)
以下是javax.swing.JList类的字段 -
static String notifyAction - 要发送已接受字段内容的通知的操作的名称。
类构造函数 (Class Constructors)
Sr.No. | 构造函数和描述 |
---|---|
1 | JTextField() 构造一个新的TextField。 |
2 | JTextField(Document doc, String text, int columns) 构造一个新的JTextField,它使用给定的文本存储模型和给定的列数。 |
3 | JTextField(int columns) 构造具有指定列数的新空TextField。 |
4 | JTextField(String text) 构造使用指定文本初始化的新TextField。 |
5 | JTextField(String text, int columns) 构造一个使用指定文本和列初始化的新TextField。 |
Class Methods
Sr.No. | 方法和描述 |
---|---|
1 | protected void actionPropertyChanged(Action action, String propertyName) 更新文本字段的状态以响应关联操作中的属性更改。 |
2 | void addActionListener(ActionListener l) 添加指定的操作侦听器以从此文本字段接收操作事件。 |
3 | protected void configurePropertiesFromAction(Action a) 设置此文本字段上的属性以匹配指定Action中的属性。 |
4 | protected PropertyChangeListener createActionPropertyChangeListener(Action a) 创建并返回一个PropertyChangeListener,它负责侦听指定Action的更改并更新相应的属性。 |
5 | protected Document createDefaultModel() 如果没有明确给出,则创建要在构造中使用的模型的默认实现。 |
6 | protected void fireActionPerformed() 通知所有已注册对此事件类型的通知感兴趣的听众。 |
7 | AccessibleContext getAccessibleContext() 获取与此JTextField关联的AccessibleContext。 |
8 | Action getAction() 返回此ActionEvent源的当前设置Action,如果未设置Action,则返回null。 |
9 | ActionListener[] getActionListeners() 返回使用addActionListener()添加到此JTextField的所有ActionListener的数组。 |
10 | Action[] getActions() 获取编辑器的命令列表。 |
11 | int getColumns() 返回此TextField中的列数。 |
12 | protected int getColumnWidth() 返回列宽。 |
13 | int getHorizontalAlignment() 返回文本的水平对齐方式。 |
14 | BoundedRangeModel getHorizontalVisibility() 获取文本字段的可见性。 |
15 | Dimension getPreferredSize() 返回此TextField所需的首选大小尺寸。 |
16 | int getScrollOffset() 获取滚动偏移量(以像素为单位)。 |
17 | String getUIClassID() 获取UI的类ID。 |
18 | boolean isValidateRoot() 通过验证文本字段来处理来自textfield本身内部的重新验证调用,除非textfield包含在JViewport中,在这种情况下返回false。 |
19 | protected String paramString() 返回此JTextField的字符串表示形式。 |
20 | void postActionEvent() 处理在此文本字段上发生的操作事件,方法是将它们分派给任何已注册的ActionListener对象。 |
21 | void removeActionListener(ActionListener l) 删除指定的操作侦听器,以便它不再从此文本字段接收操作事件。 |
22 | void scrollRectToVisible(Rectangle r) 向左或向右滚动字段。 |
23 | void setAction(Action a) 设置ActionEvent源的Action。 |
24 | void setActionCommand(String command) 设置用于操作事件的命令字符串。 |
25 | void setColumns(int columns) 设置此TextField中的列数,然后使布局无效。 |
26 | void setDocument(Document doc) 将编辑器与文本文档关联。 |
27 | void setFont(Font f) 设置当前字体。 |
28 | void setHorizontalAlignment(int alignment) 设置文本的水平对齐方式。 |
29 | void setScrollOffset(int scrollOffset) 设置滚动偏移(以像素为单位)。 |
方法继承 (Methods Inherited)
该类继承以下类中的方法 -
- javax.swing.text.JTextComponent
- javax.swing.JComponent
- java.awt.Container
- java.awt.Component
- java.lang.Object
JTextField示例
使用您选择的任何编辑器创建以下Java程序,例如D:/ 》 SWING 》 com 》 xnip 》 gui 》
SwingControlDemo.java
package cn.xnip.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);
}
}
使用命令提示符编译程序。 转到D:/ 》 SWING并键入以下命令。
D:\SWING>javac com\xnip\gui\SwingControlDemo.java
如果没有错误发生,则表示编译成功。 使用以下命令运行该程序。
D:\SWING>java cn.xnip.gui.SwingControlDemo
验证以下输出。