我剛剛開始使用Java,並且遇到編程需要使用Jframe的登錄的問題。下面的代碼:在Java中使用JFrame聲明一個類的數組
package tp_libreria;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class menu extends JFrame {
\t private JTextField f_usuario, f_pass;
\t private JButton b_ingreso;
\t private String usuario = "java", pass = "entrar";
\t private Usuario[] usuarios = new Usuario[5];
usuarios[0] = new Usuario("admin", "admin");
public static void main(String args[]){
\t menu application = new menu();
\t
\t
\t application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
\t }
}
的問題是,我不知道從哪裏初始化數組USUARIOS,它給了我下面的錯誤。
Cannot make a static reference to a non-static field usuarios
下面是類代碼:
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; }
}
這是它給你的錯誤?移動usuarios [0] =新的Usuario(「admin」,「admin」);到你的主要方法 – Apostolos
它給出了另一個錯誤:「不能靜態引用非靜態字段usuarios」@Apostolos – frusciante
請看我下面的答案。或者你可以聲明它是靜態的,這樣你就可以像我在評論中告訴你的那樣初始化它,或者像我的答案那樣作爲應用程序的屬性進行初始化。我想你需要第二種方法,我發佈在我的回答 – Apostolos