javaarraysclassjframe

Declaring Array of a class using JFrame in Java


I am just getting started in Java and I'm having issues programming a login which needs to use a Jframe. Here's the code:


package tp_libreria;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class menu extends JFrame {
     private JTextField f_usuario, f_pass;
     private JButton b_ingreso;
     private String usuario = "java", pass = "entrar";
     private Usuario[] usuarios = new Usuario[5];
     usuarios[0] = new Usuario("admin", "admin");

    public static void main(String args[]){
    menu application = new menu();
    
    
    application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
     }
}

The problem is that I don't know where to initialize the array usuarios, it gives me the following error.

Cannot make a static reference to a non-static field usuarios

Here's the class code:


package tp_libreria;

class Usuario {
       private String usuario;
       private String pass;

   // constructor
   public Usuario(String usuario, String pass) {
      this.usuario = usuario;
      this.pass = pass;
   }

       // getter
       public String getUsuario() { return usuario; }
       public String getPass() { return pass; }
       // setter

       public void setUsuario(String usuario) { this.usuario = usuario; }
       public void setPass(String pass) { this.pass = pass; }
    }

Solution

  • try this

    public class menu extends JFrame {
       private JTextField f_usuario, f_pass;
       private JButton b_ingreso;
       private String usuario = "java", pass = "entrar";
       private Usuario[] usuarios = new Usuario[5];
    
    
        public static void main(String args[]) {
          menu application = new menu();
          application.usuarios[0] = new Usuario("admin", "admin");
          application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
       }
    }