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) 使用缩进代码行和代码块的逻辑和一致形式。缩进的目的是使代码的流程更易于遵循!顺便说一句,这个代码是隐藏变量:ChangeJTextField fname=newjtextfield(20)
到justfname=newjtextfield(20)代码>(与其他代码相同),然后将其移动到联系人信息的构造函数中。从main(String[])
方法调用该构造函数。我看得越多,看到的问题就越多。真的太宽泛了。扔掉它并返回到命令行应用程序。直到你能发现其中至少6个错误。
public static void main(String [] args) throws Exception{
ContactInformation contactInformation = new ContactInformation();
//TODO work with contactInformation
}