Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 绑定元素时,如何从netbeans创建的另一个类访问私有列表_Java_List_Netbeans_Private - Fatal编程技术网

Java 绑定元素时,如何从netbeans创建的另一个类访问私有列表

Java 绑定元素时,如何从netbeans创建的另一个类访问私有列表,java,list,netbeans,private,Java,List,Netbeans,Private,我曾尝试在另一个类中创建公共静态列表,并将它们设置为与私有列表相同的列表,但我得到了一个巨大的静态列表,它告诉我无法清除列表,也无法设置列表。请帮忙 public void setLists() { General.programmeStatsListT.clear(); General.programmeStatsListT.addAll(this.programmeStatsList); General.fightersListT.clear(); Gene

我曾尝试在另一个类中创建公共静态列表,并将它们设置为与私有列表相同的列表,但我得到了一个巨大的静态列表,它告诉我无法清除列表,也无法设置列表。请帮忙

public void setLists() {

    General.programmeStatsListT.clear();
    General.programmeStatsListT.addAll(this.programmeStatsList);
    General.fightersListT.clear();
    General.fightersListT.addAll(this.fightersList);
    General.userTableListT.clear();
    General.userTableListT.addAll(this.userTableList);
    General.userStatsListT.clear();
    General.userStatsListT.addAll(this.userStatsList);

}
以下是staptrace:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Database.Database_Frame.setLists(Database_Frame.java:379)
at Database.Database_Frame.<init>(Database_Frame.java:41)
at GUI.G_Start_Frame.<init>(G_Start_Frame.java:14)
at GUI.G_Start_Frame$4.run(G_Start_Frame.java:204)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
线程“AWT-EventQueue-0”java.lang.NullPointerException中的异常 在Database.Database\u Frame.setLists(Database\u Frame.java:379) 在Database.Database\u Frame.(Database\u Frame.java:41) 在GUI.G_Start_Frame.(G_Start_Frame.java:14) 在GUI.G_Start_Frame$4.run处(G_Start_Frame.java:204) 在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)中 位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) 在java.awt.EventQueue.access$200(EventQueue.java:103) 位于java.awt.EventQueue$3.run(EventQueue.java:694) 在java.awt.EventQueue$3.run(EventQueue.java:692) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 位于java.awt.EventQueue.dispatchEvent(EventQueue.java:703) 位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) 在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:161) 位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:150) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) 在java.awt.EventDispatchThread.run(EventDispatchThread.java:91) 在中,我用这个类扩展javax.swing.JFrame,然后让我的其他类扩展这个类

public class General extends javax.swing.JFrame {


////////////////////////////DATABASE CODE////////////////////////////////
public static EntityManager DBWORKS;
Database_Frame database;


//List used as imterdetiaries between private table lists and the rest of the programme
public static List<Database.Fighters> fightersListT;
public static List<Database.ProgrammeStats> programmeStatsListT;
public static List<Database.UserStats> userStatsListT;
public static List<Database.UserTable> userTableListT;

//Iterators for intermediatory lists
public static ListIterator<Database.Fighters> fightersT_Iterator;
public static ListIterator<Database.ProgrammeStats> programmeST_Iterator;
public static ListIterator<Database.UserStats> userST_Iterator;
public static ListIterator<Database.UserTable> userTT_Iterator;


///////////////////MAPS, ARRAYS, DATABASE INTERATION//////////////////////
protected Map<String, User> userT_TreeMap = new TreeMap<>();
protected ArrayList<String> userT_TreeTemp = new ArrayList<>();

protected boolean validateNewUser(Boolean valid, Boolean format, String username, String password, String name, String surname, String rights, String pic_Dir) {

    if (name.isEmpty()) {
        JOptionPane.showMessageDialog(null, "Please enter your name", "Missing Field", JOptionPane.ERROR_MESSAGE);
    } else if (password.isEmpty()) {
        JOptionPane.showMessageDialog(null, "Please enter your password", "Missing Field", JOptionPane.ERROR_MESSAGE);
    } else if (surname.isEmpty()) {
        JOptionPane.showMessageDialog(null, "Please enter your surname", "Missing Field", JOptionPane.ERROR_MESSAGE);
    } else if (password.trim().length() < 8 || password.trim().length() > 30) {
        JOptionPane.showMessageDialog(null, "Password must be between 8 and 30 characters long", "Input Error", JOptionPane.ERROR_MESSAGE);
        G_Register_Frame.pwf_Password.setText(null);
        A_Add_User.pwf_Password.setText(null);

    } else if (name.trim().length() > 50) {
        JOptionPane.showMessageDialog(null, "Name can only be 50 characters long", "Input Error", JOptionPane.ERROR_MESSAGE);
        G_Register_Frame.txtf_Name.setText(null);
    } else if (surname.trim().length() > 50) {

        JOptionPane.showMessageDialog(null, "Surname can only be 50 characters long", "Input Error", JOptionPane.ERROR_MESSAGE);
        G_Register_Frame.txtf_Surname.setText(null);
        A_Add_User.txtf_Surname.setText(null);

    } else {

        for (int i = 0; i < name.length(); i++) {
            if (!Character.isLetter(name.charAt(i))) {
                format = false;
                if (format == false) {

                    JOptionPane.showMessageDialog(null, "Name can only consist of letters", "Input Error", JOptionPane.ERROR_MESSAGE);
                    G_Register_Frame.txtf_Name.setText(null);
                    A_Add_User.txtf_Name.setText(null);

                    break;

                }
            }
        }

        for (int i = 0; i < surname.length(); i++) {
            if (!Character.isLetter(surname.charAt(i))) {
                format = false;

                JOptionPane.showMessageDialog(null, "Surname can only consist of letters", "Input Error", JOptionPane.ERROR_MESSAGE);
                G_Register_Frame.txtf_Surname.setText(null);
                A_Add_User.txtf_Surname.setText(null);
                break;
            }
        }

        if (format == true) {
            valid = true;
        }
    }

    return valid;
}

protected void addUser(String username, String password, String name, String surname, String rights, String pic_Dir) {

    userT_TreeMap.put(username, new User(username, password, name, surname, rights, pic_Dir));

}

protected void writeDB_UserTBL() {

    for (String temp : userT_TreeTemp) {

        try {
            DBWORKS.find(UserTable.class, temp);
            DBWORKS.getTransaction().begin();
            DBWORKS.remove(temp);
            DBWORKS.getTransaction().commit();
            DBWORKS.clear();

        } catch (Exception e) {

            JOptionPane.showMessageDialog(null, "Database update failed.\nPlease report this error to the administrator", "ERROR " + e, JOptionPane.ERROR_MESSAGE);

        }

    }

    for (Map.Entry<String, User> entry : userT_TreeMap.entrySet()) {

        UserTable user = new UserTable();
        user.setId(entry.getKey());
        user.setFirstName(entry.getValue().getName());
        user.setSurname(entry.getValue().getSurname());
        user.setPassword(entry.getValue().getPassword());
        user.setRights(entry.getValue().getRights());
        user.setPicDir(entry.getValue().getPic_Dir());

        DBWORKS.getTransaction().begin();
        DBWORKS.persist(user);
        DBWORKS.getTransaction().commit();

    }

    database.clearLists();
    database.addAll();
    //database.setLists();
    database.getLists(programmeStatsListT, fightersListT, userStatsListT, userTableListT);

    userTT_Iterator = userTableListT.listIterator(0);
    database.setUserT(database.userT);

    userT_TreeMap.clear();

    database.addAll();

    database.clearLists();
    database.addAll();

    fillUserT_TreeMap();

}

protected void fillUserT_TreeMap() {

    for (UserTable temp : userTableListT) {

        userT_TreeMap.put(temp.getId(), new User(temp.getId(), temp.getPassword(), temp.getFirstName(), temp.getSurname(), temp.getRights(), temp.getPicDir()));

    }

    userT_TreeTemp.clear();

    for (Map.Entry<String, User> entry : userT_TreeMap.entrySet()) {

        userT_TreeTemp.add(entry.getKey());

    }

}

///////////////////////GENERAL METHODS////////////////////////////////////
protected void safeEnd(boolean end) {
    System.exit(0);
}

protected void backToMain() {
    new G_Main_Menu_Frame().setVisible(true);
    this.setVisible(false);
}

protected void backToAdmin_Menu() {
    new A_Admin_Menu_Frame().setVisible(true);
    this.setVisible(false);
}

protected void backToUser_Menu() {
    new U_User_Menu().setVisible(true);
    this.setVisible(false);
}

protected void backToPredict() {

    new U_Predict_Frame().setVisible(true);
    this.setVisible(false);

}

protected void backToDef_Res() {
    new A_Define_Frame().setVisible(true);
    this.setVisible(false);
}

protected void goToDef_Frame() {
    new A_Def_Res().setVisible(true);
    this.setVisible(false);
}

protected void backToUser_Man() {
    new A_User_Frame().setVisible(true);
    this.setVisible(false);
}

protected void backToA_Stats() {
    new A_Statistics_Frame().setVisible(true);
    this.setVisible(false);
}

protected void printList() {

    for(int i = 0; 0 < userTableListT.size(); i++) {

    System.out.println("" + userStatsListT.get(i));

    }

}

protected void setIterators() {

    fightersT_Iterator = fightersListT.listIterator(0);
    programmeST_Iterator = programmeStatsListT.listIterator(0);
    userST_Iterator = userStatsListT.listIterator(0);
    userTT_Iterator = userTableListT.listIterator(0);

}
公共类通用扩展javax.swing.JFrame{
////////////////////////////数据库代码////////////////////////////////
公共静态实体管理器DBWORKS;
数据库\框架数据库;
//列表用作专用表列表和程序其余部分之间的分隔符
公共静态列表fightersListT;
公共静态列表程序mestatslistt;
公共静态列表userStatsListT;
公共静态列表userTableListT;
//中间列表的迭代器
公共静态列表迭代器fightersT_迭代器;
公共静态列表迭代器;
公共静态列表迭代器userST_迭代器;
公共静态列表迭代器userTT_迭代器;
///////////////////地图、阵列、数据库交互//////////////////////
受保护的映射userT_TreeMap=new TreeMap();
受保护的ArrayList userT_TreeTemp=new ArrayList();
受保护的布尔validateNewUser(布尔有效、布尔格式、字符串用户名、字符串密码、字符串名称、字符串姓氏、字符串权限、字符串pic_Dir){
if(name.isEmpty()){
JOptionPane.showMessageDialog(null,“请输入您的姓名”,“缺少字段”,JOptionPane.ERROR\u消息);
}else if(password.isEmpty()){
JOptionPane.showMessageDialog(null,“请输入密码”,“缺少字段”,JOptionPane.ERROR\u消息);
}else if(姓氏.isEmpty()){
JOptionPane.showMessageDialog(null,“请输入您的姓氏”,“缺少字段”,JOptionPane.ERROR\u消息);
}else if(password.trim().length()<8 | | password.trim().length()>30){
JOptionPane.showMessageDialog(null,“密码长度必须在8到30个字符之间”,“输入错误”,JOptionPane.Error\u消息);
G_Register_Frame.pwf_Password.setText(null);
A_Add_User.pwf_Password.setText(null);
}否则如果(name.trim().length()>50){
JOptionPane.showMessageDialog(null,“名称只能有50个字符长”,“输入错误”,JOptionPane.Error\u消息);
G_Register_Frame.txtf_Name.setText(null);
}else if(姓氏.trim().length()>50){
JOptionPane.showMessageDialog(null,“姓氏长度只能为50个字符”,“输入错误”,JOptionPane.Error\u消息);
G_Register_Frame.txtf_姓氏.setText(null);
A_Add_User.txtf_姓氏.setText(null);
}否则{
对于(int i=0;ipublic final class Database_Frame extends javax.swing.JFrame{

public Fighters fighters;
public ProgrammeStats programme;
public UserStats userS;
public UserTable userT;

public ListIterator<Database.Fighters> fightersListIterator;
public ListIterator<Database.ProgrammeStats> programmeListIterator;
public ListIterator<Database.UserStats> userStatsListIterator;
public ListIterator<Database.UserTable> userTableListIterator;



public Database_Frame() {
    initComponents();

    setEntityMan(General.DBWORKS);
    setUserS(userS);
    setUserT(userT);
    setProgramme(programme);
    setFighters(fighters);

    fightersListIterator = fightersList.listIterator(0);
    programmeListIterator = programmeStatsList.listIterator(0);
    userTableListIterator = userTableList.listIterator(0);
    userStatsListIterator = userStatsList.listIterator(0);

    setLists();

    //setLists(programmeStatsListT, fightersListT, userStatsListT, userTableListT);


public Fighters getFighters() {
    return fighters;
}

public void setFighters(Fighters fighters) {
    Fighters oldFighters = this.fighters;
    this.fighters = fighters;
    firePropertyChange("fighters", oldFighters, fighters);
}

public ProgrammeStats getProgramme() {
    return programme;
}

public void setProgramme(ProgrammeStats programme) {
    ProgrammeStats oldProgramme = this.programme;
    this.programme = programme;
    firePropertyChange("programme", oldProgramme, programme);
}

public UserStats getUserS() {
    return userS;
}

public void setUserS(UserStats userS) {
    UserStats oldUserStats = this.userS;
    this.userS = userS;
    firePropertyChange("userS", oldUserStats, userS);
}

public UserTable getUserT() {
    return userT;
}

public void setUserT(UserTable userT) {
    UserTable oldUserTable = this.userT;
    this.userT = userT;
    firePropertyChange("userT", oldUserTable, userT);
}

public void setLists() {

    General.programmeStatsListT.clear();
    General.programmeStatsListT.addAll(this.programmeStatsList);
    General.fightersListT.clear();
    General.fightersListT.addAll(this.fightersList);
    General.userTableListT.clear();
    General.userTableListT.addAll(this.userTableList);
    General.userStatsListT.clear();
    General.userStatsListT.addAll(this.userStatsList);

}

public void getLists(List programmeStatsList, List fightersList, List userStatsList, List userTableList) {

    this.programmeStatsList = programmeStatsList;
    this.fightersList = fightersList;
    this.userStatsList = userStatsList;
    this.userTableList = userTableList;

}

public void clearLists() {

    programmeStatsList.clear();
    fightersList.clear();
    userStatsList.clear();
    userTableList.clear();

}

public void addAll() {

    programmeStatsList.addAll(programmeStatsQuery.getResultList());
    fightersList.addAll(fightersQuery.getResultList());
    userStatsList.addAll(userStatsQuery.getResultList());
    userTableList.addAll(userTableQuery.getResultList());

}

public void setEntityMan(EntityManager eMan) {

    eMan = FairyTail_DBPUEntityManager;

}