【发布时间】:2013-11-30 09:27:41
【问题描述】:
我是 Java Swing 开发的新手,遇到以下问题。
我有一个自定义的 LoginFrame,它扩展了经典的 JFrame Swing 类来创建一个登录窗口,用户可以在其中插入其用户名和密码。
在这个类里面我有这样的东西:
externalPanel.setLayout(new net.miginfocom.swing.MigLayout("fill"));
externalPanel.add(new JLabel("Username"), "w 50%, wrap");
JTextField userNameTextField = new JTextField(20);
externalPanel.add(userNameTextField, "w 90%, wrap");
externalPanel.add(new JLabel("Password"), "w 50%, wrap");
// JTextField pswdTextField = new JTextField(20);
JPasswordField pswdTextField = new JPasswordField(20);
externalPanel.add(pswdTextField, "w 90%, wrap");
JButton loginButton = new JButton("Login");
// loginButton.setActionCommand("loginAction");
loginButton.addActionListener(this);
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println("Button LogIn cliccked");
firePropertyChange("loginResult", false, loginResult);
}
如您所见,当用户单击 JButton loginButton 对象时,我执行了 actionPerformed。
好的,我的问题是:如何从 actionPerformed()^^ 方法中访问插入到我的 **JTextField userNameTextField 和 JPasswordField pswdTextField 中的值?
我该怎么办?
Tnx
安德烈亚
【问题讨论】:
-
在方法之外声明你的字段或使它们最终并添加一个新的监听器 loginButton.addActionListener(
); -
在存储之前无法访问?
标签: java swing user-interface jtextfield jpasswordfield