Start New Discussion within our Software Development Community

I have a problem with getting an input from class A to class B. I already created a method which gets the value but when I call it in class b it returns empty.
These are my codes:

public class log extends javax.swing.JFrame {

    public String name;

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {

            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/devweb", "root", "123456");
            PreparedStatement statement = con.prepareStatement("select User,pwd from account");
            ResultSet rs = statement.executeQuery();
             name = user.getText();
            String pwd = jTextField2.getText();
            while ( {
                if (rs.getString("User").equals(name) && rs.getString("pwd").equals(pwd)) {
                    result now = new result();



        } catch (Exception e) {

 public   String getuser() {
        return this.user.getText();

CLASS B(I'm gonna post the button straight away since that this is the only thing that this class contains)

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        log qwe=new log();

Line 3 you create new log, then ask that to getUser, so of course its empty.
Instead of a new log class, B needs a reference to the real log instance that you created and interacted with. How that happens depends on the code where log and B are created, which I don't see here.

the user variable needs to be an instantiated variable under the class, and either needs to be given a value there or in a default constructor. Infact it shouldn't even compile because I don't see where user is ever instantiated (Including jTextField2 as well).

I'll assume all the variables are textfields.

public class log extends javax.swing.JFrame {

    public JTextField user = new JTextField("", 10);
    public JTextField jTextField2 = new JTextField("", 10);
    public String name;
    /* Default constructor */
    public log()
       user.setText("Some stuff!");
       jTextField2.setText("Some other stuff!");

Now at least the getuser method will return something...
In this case, it will return "Some stuff!"

This article has been dead for over six months. Start a new discussion instead.