Ich habe eine HashMap, deren Daten ich gerne in einer JTable anzeigen würde. Allerdings habe ich Probleme damit, die Anzahl der Spalten und Zeilen der HashMap sowie die Daten angezeigt zu bekommen. Ich habe eine HashMap, die eine Konto-ID als Schlüssel nimmt und ein Objekt von Studenten enthält, bei dem jeder Schüler Daten wie Name, ID, Alter usw. hat. Wenn ich jedoch die JTable-Dokumente konsultiere, heißt es, dass ich ints für die Zeile und Spalte sowie ein multidimensionales Array vom Typ Object benötigen würde. Wie kann ich das machen? Kann ich meine HashMap in ein multidimensionales Array ändern?
--Edit Ich habe meine Frage bearbeitet, damit sie klarer wird, ich bin ziemlich neu in Java und habe nicht wirklich verstanden, was einige von euch gepostet haben, besonders da die Arbeit, die ich mache, ziemlich mit OO zusammenhängt und das Erfassen von OO-Konzepten meine größte Herausforderung ist.
/Ich habe eine DatenSpeicher-Klasse, der registrierte Benutzer wird der HashMap mit einem Schlüssel hinzugefügt, der seinem Benutzernamen entspricht, der getUser ist./
import java.util.*;
public class DataStorage
{
HashMap students = new HashMap();
HashMap staffMembers = new HashMap();
//Standardkonstruktor
public DataStorage(){
}
public void addStaffMember(Staff aAcc)
{
staffMembers.put(aAcc.getUser(),aAcc);
}
public void addStudentMember(Student aAcc)
{
students.put(aAcc.getUser(),aAcc);
}
public Staff getStaffMember(String user)
{
return staffMembers.get(user);
}
public Student getStudent(String user)
{
return students.get(user);
}
public int getStudentRows()
{
return students.size();
}
}
/**** Dies ist eine Studentenklasse, die von Konto erbt***/
public class Student extends Account {
private String studentNRIC;
private String diploma;
private String gender;
private double level;
private int credits;
private int age;
private boolean partTime;
private boolean havePc;
private boolean haveChild;
public Student(String n, String nr, String id, String dep, String user, String pass)
{
super(n, dep, user, pass, id);
studentNRIC = nr;
}
public void setPartTime(boolean state)
{
if(state == true)
{
partTime = true;
}
else
{
partTime = false;
}
}
public boolean getPartTime()
{
return partTime;
}
public void setHavePc(boolean state)
{
if(state == true)
{
havePc = true;
}
else
{
havePc = false;
}
}
public boolean getHavePc()
{
return havePc;
}
public void setHaveChild(boolean state)
{
if(state == true)
{
haveChild = true;
}
else
{
haveChild = false;
}
}
public boolean getHaveChild()
{
return haveChild;
}
public void setDiploma(String dip)
{
diploma = dip;
}
public String getDiploma()
{
return diploma;
}
public void setCredits(String cre)
{
credits = Integer.parseInt(cre);
}
public int getCredits()
{
return credits;
}
public void setGender(String g)
{
gender = g;
}
public String getGender()
{
return gender;
}
public void setAge(String a)
{
age = Integer.parseInt(a);
}
public int getAge()
{
return age;
}
public void setLevel(String lvl)
{
level = Double.parseDouble(lvl);
}
public double getLevel()
{
return level;
}
public void setStudentNRIC(String nr)
{
studentNRIC = nr;
}
public String getStudentNRIC()
{
return studentNRIC;
}
}
/**** Dies ist eine die Account-Superklasse***/
public class Account {
private String name;
private String department;
private String username;
private String password;
private String accountID;
public Account()
{
}
public Account(String nm,String dep,String user,String pass, String accID)
{
name = nm;
department = dep;
username = user;
password = pass;
accountID = accID;
}
public void setName(String nm)
{
name = nm;
}
public String getName()
{
return name;
}
public void setDep(String d)
{
department = d;
}
public String getDep()
{
return department;
}
public void setUser(String u)
{
username = u;
}
public String getUser()
{
return username;
}
public void setPass(String p)
{
password = p;
}
public String getPass()
{
return password;
}
public void setAccID(String a)
{
accountID = a;
}
public String getAccID()
{
return accountID;
}
}
0 Stimmen
Ein vollständiges Beispiel, das
AbstractTableModel
erweitert, ist hier zu sehen.