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

时间:2016-07-04 11:31:46

标签: 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 = 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

2 个答案:

答案 0 :(得分:0)

如果你想把你的JTextField“finame”的值作为a,你必须写:

stmt.setString(1, finame.getText());

您也可以在主体中创建新的JTextFields,而不是在课堂上声明的那些!您必须创建一个构造函数并在其中创建它们: 正确的:

public static void ContactInformation(String [] args) throws Exception{
    finame = new JTextField(20);
    laname = new JTextField(20);
    dist = new JTextField(20);
    cty = new JTextField(20);
}

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

在你的main-Method中你必须调用那个构造函数:

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

答案 1 :(得分:-1)

坚定地找到你需要的答案。如果你希望价值在" a"  只需使用代码fnmae.getText(),您就可以获得fname textfield的值。