【问题标题】:Setting the text in jTextField and then retrieving that text在 jTextField 中设置文本,然后检索该文本
【发布时间】:2015-06-07 12:37:51
【问题描述】:
package test2;
public class NewJFrame extends javax.swing.JFrame {

private static void valueGen(javax.swing.JTextField jTextField1) {

    String x = jTextField1.getText();
    System.out.println(x);
}
public NewJFrame() {
    initComponents();
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){                                         
    jTextField1.setText("Hello");

}                                        

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            

}                                           

public javax.swing.JTextField getTextField() {
    jTextField1.getText();
    return this.jTextField1;
}

public static void main(String args[]) {

     NewJFrame myFrame = new NewJFrame();
     valueGen(myFrame.getTextField());

     java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new NewJFrame().setVisible(true);
        }
    });

}

private javax.swing.JButton jButton1;
private javax.swing.JTextField jTextField1;

}

我有一个如上所示的程序。单击提交按钮时,我需要在文本字段中设置文本“hello”。有用。但后来我需要在一个名为 valueGen 的函数中使用该文本,并在其中打印它。但是通过执行上述代码不会打印文本。这段代码有什么问题?

【问题讨论】:

  • jTextField1.getText(); 没有做任何有用的事情......你是说myFrame().setVisible(true); 而不是new NewJFrame().setVisible(true);。另外,您提供的代码很乱,无法编译。
  • 我能给出什么来代替 jTextField1.getText();从该文本字段中获取值?

标签: java swing jframe textfield gettext


【解决方案1】:
  1. 它是杂乱无章的。始终将类变量放在顶部。

  2. 就像 Cool Guy 说的那样,用 myFrame 代替 new NewJTest()

  3. valueGen 实际上是在 之前调用的,您可以单击该按钮。放入jTextField1ActionPerformed;这可能会解决它。

【讨论】:

  • 它是无组织的,因为这是它在 netbeans 中生成的方式。我试过你说的,但它不起作用。
【解决方案2】:

在netbeans中输出的System.out.println();会显示在输出窗口中,如下图所示。 如果您想将其显示为消息,请将以下方法替换为您的 valueGen() 方法。

private static void valueGen(javax.swing.JTextField jTextField1) {

String x = jTextField1.getText();
System.out.println(x);
JOptionPane.showMessageDialog(null, x);
}

并使用 myFrame.setVisible(true); 让您的 JFrame 可见。

public void run() {

            NewJFrame myFrame = new NewJFrame();
            myFrame.setVisible(true);
 valueGen(myFrame.getTextField());
        }

【讨论】:

    猜你喜欢
    • 2014-07-23
    • 1970-01-01
    • 2012-12-30
    • 2022-01-13
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    相关资源
    最近更新 更多