请问JAVA Swing组件JTable 怎么用Vector构造
想做一个这样的表格姓名编号缺考次数stu1.namestu1.numberstu1.absentstu2.namestu2.numberstu2.absent………………...
想做一个这样的表格
姓名 编号 缺考次数
stu1.name stu1.number stu1.absent
stu2.name stu2.number stu2.absent
…… …… ……
例如:
姓名 编号 缺考次数
张三 101 0
李四 102 1
…… …… ……
现有Vector<Student>,里面储存着所有学生对象的引用,每个学生都有姓名、编号、缺考次数等信息
所有的信息都不可在表格里直接改动
这个表格应该怎么做?
或者将每一个学生的姓名、编号等分别获取,在封装一个Vector<String>,Vector<int>?
除了代码之外,可以发一下JTable的用Vector的构造函数的意思吗? 展开
姓名 编号 缺考次数
stu1.name stu1.number stu1.absent
stu2.name stu2.number stu2.absent
…… …… ……
例如:
姓名 编号 缺考次数
张三 101 0
李四 102 1
…… …… ……
现有Vector<Student>,里面储存着所有学生对象的引用,每个学生都有姓名、编号、缺考次数等信息
所有的信息都不可在表格里直接改动
这个表格应该怎么做?
或者将每一个学生的姓名、编号等分别获取,在封装一个Vector<String>,Vector<int>?
除了代码之外,可以发一下JTable的用Vector的构造函数的意思吗? 展开
2个回答
展开全部
public static void main(String[] args) {
Student s1 = new Student("张三", "001", 0);
Student s2 = new Student("李四", "002", 1);
Student s3 = new Student("王五", "003", 0);
Vector<Object> row1 = new Vector<Object>();
row1.add(s1.getName());
row1.add(s1.getNumber());
row1.add(s1.getAbsentTimes());
Vector<Object> row2 = new Vector<Object>();
row2.add(s2.getName());
row2.add(s2.getNumber());
row2.add(s2.getAbsentTimes());
Vector<Vector<Object>> studentData = new Vector<Vector<Object>>();
Vector<String> columnNames = new Vector<String>();
studentData.add(row1);
studentData.add(row2);
columnNames.add("姓名");
columnNames.add("编号");
columnNames.add("缺考次数");
JTable table = new JTable(studentData, columnNames);
JFrame f = new JFrame();
JScrollPane scrollPane = new JScrollPane(table);
f.getContentPane().add(scrollPane, BorderLayout.CENTER);
f.setVisible(true);
f.setSize(500, 500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Student s1 = new Student("张三", "001", 0);
Student s2 = new Student("李四", "002", 1);
Student s3 = new Student("王五", "003", 0);
Vector<Object> row1 = new Vector<Object>();
row1.add(s1.getName());
row1.add(s1.getNumber());
row1.add(s1.getAbsentTimes());
Vector<Object> row2 = new Vector<Object>();
row2.add(s2.getName());
row2.add(s2.getNumber());
row2.add(s2.getAbsentTimes());
Vector<Vector<Object>> studentData = new Vector<Vector<Object>>();
Vector<String> columnNames = new Vector<String>();
studentData.add(row1);
studentData.add(row2);
columnNames.add("姓名");
columnNames.add("编号");
columnNames.add("缺考次数");
JTable table = new JTable(studentData, columnNames);
JFrame f = new JFrame();
JScrollPane scrollPane = new JScrollPane(table);
f.getContentPane().add(scrollPane, BorderLayout.CENTER);
f.setVisible(true);
f.setSize(500, 500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
展开全部
Vector<Object> rows, columns;
JTable tabledisplay = null;
。。。
tabledisplay = new JTable (rows, columns);
tabModel = new DefaultTableModel ();
rows = new Vector<Object> ();
columns = new Vector<Object> ();
tabModel.setDataVector (rows, columns);
。。。
columns.addElement ("。。");
columns.addElement ("...");
...
Vector<Object> r = new Vector<Object> ();
r.addElement (j++);
...
rows.addElement (r);
..
tabledisplay.addNotify ();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询