英文:
How do I show this firebase database structure on a jTable?
问题
这是我的代码:
DatabaseReference getSubj = FirebaseDatabase.getInstance().getReference("Teachers").
child(LoginFrame.sUserKey).child("Subjects");
DefaultTableModel model = (DefaultTableModel) tblSubjects.getModel();
Object[] row = new Object[4];
getSubj.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot ds) {
model.setNumRows(0);
listSubjID.clear();
for (DataSnapshot dataSnapshot : ds.getChildren()) {
Subject subject = new Subject();
subject.setSubjCode(dataSnapshot.child("Subject Details").child("subjCode").getValue().toString());
subject.setSubjTitle(dataSnapshot.child("Subject Details").child("subjTitle").getValue().toString());
subject.setUnits(dataSnapshot.child("Subject Details").child("units").getValue().toString());
subject.setSection(dataSnapshot.child("Subject Details").child("section").getValue().toString());
listSubjID.add(dataSnapshot.getKey());
row[0] = subject.getSubjCode();
row[1] = subject.getSubjTitle();
row[2] = subject.getUnits();
row[3] = subject.getSection();
model.addRow(row);
}
}
@Override
public void onCancelled(DatabaseError de) {
throw new UnsupportedOperationException("Not supported yet.");
}
});
英文:
Im not sure how I can show this data on my jTable. Can anyone suggest me on how I can retrieve this firebase database structure. I dont have problem in jTable, its just how to access the nodes. Sorry for my bad english, hope you get my point.
This is my code:
DatabaseReference getSubj = FirebaseDatabase.getInstance().getReference("Teachers").
child(LoginFrame.sUserKey).child("Subjects");
DefaultTableModel model = (DefaultTableModel) tblSubjects.getModel();
Object[] row = new Object[4];
getSubj.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot ds) {
model.setNumRows(0);
listSubjID.clear();
for (DataSnapshot dataSnapshot : ds.getChildren()) {
Subject subject = new Subject();
subject.setSubjCode(dataSnapshot.child("Subject Details").child("subjCode").getValue().toString());
subject.setSubjTitle(dataSnapshot.child("Subject Details").child("subjTitle").getValue().toString());
subject.setUnits(dataSnapshot.child("Subject Details").child("units").getValue().toString());
subject.setSection(dataSnapshot.child("Subject Details").child("section").getValue().toString());
listSubjID.add(dataSnapshot.getKey());
row[0] = subject.getSubjCode();
row[1] = subject.getSubjTitle();
row[2] = subject.getUnits();
row[3] = subject.getSection();
model.addRow(row);
}
}
@Override
public void onCancelled(DatabaseError de) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
});
答案1
得分: 0
我的猜测是,在从Firebase检索数据后,您没有更新JTable。
尝试这样做:
table1.setModel(model);
附注:table1是您设计表单中的JTable字段名称。
英文:
My guess is that you are not updating the JTable after retrieving the data from firebase.
Try this:
table1.setModel(model);
ps. table1 is the JTable field name in your design form
专注分享java语言的经验与见解,让所有开发者获益!
评论