Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从主函数外部获取在主函数中声明的JTextfield的值?_Java_Swing - Fatal编程技术网

Java 如何从主函数外部获取在主函数中声明的JTextfield的值?

Java 如何从主函数外部获取在主函数中声明的JTextfield的值?,java,swing,Java,Swing,我已将文本字段声明为: public class ContactInformation implements ActionListener { private JTextField finame; private JTextField laname; private JTextField dist; private JTextField cty; public static void main(String [] args) throws Exception{ JTextField fname

我已将文本字段声明为:

public class ContactInformation implements ActionListener {
private JTextField finame;
private JTextField laname;
private JTextField dist;
private JTextField cty;

public static void main(String [] args) throws Exception{
JTextField fname = new JTextField(20);
JTextField lname = new JTextField(20);
JTextField district = new JTextField(20);
JTextField city = new JTextField(20);
}

public void insertUser(){
 try {
    contains = DriverManager.getConnection("jdbc:mysql://localhost:3306/contact_info","root","");
        System.out.println("Connection established");
        stmt = contains.prepareStatement(insertUser);
        stmt.setString(1,a);
        stmt.setString(2,b);
        int rowinserted = stmt.executeUpdate();
        if (rowinserted>0){
            System.out.println("Inserted successfully!!!");
        }
  } 
}
所以,我的程序结构如上所述。在这段代码中,我必须将文本框中的值放入
stmt.setString(1,a)[在字段a中应该有文本字段的值]


如何从文本框中获取值到
a

坚定地得出您需要的答案。如果您希望值为“a”
只需使用代码
fnmae.getText()
,您将获得fname textfield的值。

如果您想将JTextField“finame”的值作为一个值,您必须编写:

stmt.setString(1, finame.getText());
另外,在main中创建新的JTextFields,而不是在类中声明的JTextFields!必须创建构造函数并在其中创建它们: 正确:

请注意缺少的“JTextField”和更正的名称

在main方法中,必须调用该构造函数:

public static void main(String [] args) throws Exception{
    ContactInformation contactInformation = new ContactInformation();
    //TODO work with contactInformation
}

使用方法
getText()
。例如
fname.getText()
解决策略:1)不要使用非阻塞顶级包含,例如
JFrame
来收集信息!而是从
作业窗格获取信息。showInputDialog(..)
或2)在输入信息后,将代码语句移动到连接到输入组件的动作侦听器的动作执行方法中。当用户按下“回车”键时,该代码将被执行。一般提示:1)要更快获得更好的帮助,请发布或。2) 使用缩进代码行和代码块的逻辑和一致形式。缩进的目的是使代码的流程更易于遵循!顺便说一句,这个代码是隐藏变量:Change
JTextField fname=newjtextfield(20)
到just
fname=newjtextfield(20)(与其他代码相同),然后将其移动到
联系人信息的构造函数中。从
main(String[])
方法调用该构造函数。我看得越多,看到的问题就越多。真的太宽泛了。扔掉它并返回到命令行应用程序。直到你能发现其中至少6个错误。
public static void main(String [] args) throws Exception{
    ContactInformation contactInformation = new ContactInformation();
    //TODO work with contactInformation
}