java - 如何访问 Swing JTextField/JPasswordField 内的值?

标签 java swing user-interface jtextfield jpasswordfield

我是 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 userNameTextFieldJPasswordField pswdTextField 中的值?

我该怎么办?

Tnx

安德里亚

最佳答案

声明JTextField userNameTextField、JPasswordField pswdTextField、JButton loginButton为globel。然后你可以得到这样的值..

@Override
public void actionPerformed(ActionEvent e) {
    if(e.getSource() == loginButton){
         String name = userNameTextField.getText();
         char[] pass = pswdTextField.getPassword();
         // your remaining operation...
    }

}

关于java - 如何访问 Swing JTextField/JPasswordField 内的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20298616/

相关文章:

java - 如何为 private HashMap<String, HashSet<String>> hm; 编写 bytebuddy 代码?

java - 如何从spring security获取当前登录的用户对象?

java - 根据指定列动态查询

java - 如何使一个 JPanel 在另一个 JPanel 中扩展到最大宽度

JavaFX布局: all in Grid vs Separator for each cell

java - 确定事件调度线程的范围

JavaFX占用内存并不断增加?

java - 在 SwingUtilities.invokeLater 中放置(和不放置)什么?

python - 在 Tkinter 中单击按钮时显示 .jpg 图像?

java - 如何为 GridBagLayout 中的所有组件设置间隙?