JTextField组件用于创建文本框。文本框是用来接收用户的单行文本信息输入的区域。通常文本框用于接收用户信息或其他文本信息的输入。当用户输入文本信息后,如果为JTextField对象添加了事件处理,按回车键后就会触发一定的操作。
JPasswordField是JTextField的子类,是一种特殊的文本框,也是用来接收单行文本信息输入的区域,但是会用回显字符串代替输入的文本信息。因此,JPasswordField组件也称为密码文本框。JPasswordField默认的是回显字符是”*”,用户可以自行设置回显字符。
JTextField的常见构造方法有如下几种:JTextField():创建一个空文本框。JTextField(String text):创建一个具有出事文本信息text的文本框。JTextField(String text,int columns):创建一个具有出事文本信息text以及制定列数的文本框。
JTextField的常用方法:void setText(String):设置显示内容。String getText():获取显示内容。
JPasswordField的构造方法有如下几种:JPasswordField():创建一个空的密码文本框。JPasswordField(String text):创建一个指定初始文本信息的密码文本框。JPasswordField(String text,int columns):创建一个指定文本和列数的密码文本框。JPasswordField(int columns):创建一个指定列数的密码文本框。
JPasswordField是JTextField的子类,因此JPasswordField也具有与JTextField类似的名称和功能的方法,此外,它还具有与JTextField类似的名称和功能的方法,此外,它还具有自己的独特方法:boolean echoCharIsSet():获取设置回显字符的状态。void setEchoChar(char):设置回显字符。void getEchoChar():获取回显字符。char[] getPassword():获取组件的文本。
代码实例如下
在这里插入代码片
```package dataExchange;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
@SuppressWarnings("all")
public class DataExchangeFrame extends JFrame {
public static final int TEXT_ROWS = 20;
public static final int TEXT_COLUMNS = 40;
private PasswordChooser dialog = null;
private JTextArea textArea;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
DataExchangeFrame frame = new DataExchangeFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 100, 450, 300);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public DataExchangeFrame() {
JMenuBar mbar = new JMenuBar();
setJMenuBar(mbar);
JMenu fileMenu = new JMenu("File");
mbar.add(fileMenu);
JMenuItem connectItem = new JMenuItem("Connect");
connectItem.addActionListener(new ConnectAction());
fileMenu.add(connectItem);
JMenuItem exitItem = new JMenuItem("Exit");
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
fileMenu.add(exitItem);
textArea = new JTextArea(TEXT_ROWS,TEXT_COLUMNS);
add(new JScrollPane(textArea),BorderLayout.CENTER);
pack();
}
public class ConnectAction implements ActionListener{
public void actionPerformed(ActionEvent e) {
if (dialog == null) {
dialog = new PasswordChooser();
if (dialog.showDialog(DataExchangeFrame.this, "Connect")) {
User user = dialog.getUser();
textArea.append("Username = " + user.getName() + ",password = " + (new String(user.getPassword())) + "\n");
}
}
}
}
运行结果