如何在 jTable 上显示这个 Firebase 数据库结构?

huangapple 未分类评论44阅读模式
英文:

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.

Firebase Database Structure

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

huangapple
  • 本文由 发表于 2020年4月3日 23:30:37
  • 转载请务必保留本文链接:https://java.coder-hub.com/61015276.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定