向JTable中添加数据的一个问题 100
一个JTable,初始显示为10行(是空行).现在想要把一条记录插入JTable中,并且满足:1.每次插入的记录要放入JTable的顶端;2.当插入的记录小于10条时,J...
一个JTable,初始显示为10行(是空行).现在想要把一条记录插入JTable中,并且满足:
1.每次插入的记录要放入JTable的顶端;
2.当插入的记录小于10条时,JTable的行数保持不变,记录超过10条时,JTable的行数才可以相应的增加.
大概需要怎么做呢?
说一下思路就可以了 展开
1.每次插入的记录要放入JTable的顶端;
2.当插入的记录小于10条时,JTable的行数保持不变,记录超过10条时,JTable的行数才可以相应的增加.
大概需要怎么做呢?
说一下思路就可以了 展开
3个回答
展开全部
写一个TableModel类,继承AbstractTableModel这个抽象类
需要实现getColumnCount()、getRowCount()、getValueAt(int arg0, int arg1)这3个方法,当然还有个方法一般也覆盖掉getColumnName(int arg0),把你的每行元素都包装成一个类,放入一个集合中去,建议用Vetor集合,方便操作,如果要插入行可以插到Vetor中去,然后刷新JTable就可以了,用setModel()参数就放你自己写的TableModel类
你的第2个要求,直接用Vector实现就可以了,完全可以做到的,每次改变Vector中内容刷新JTable
下面是偶写的一个TableModel类,可以参考,具体怎么弄还要你自己敲代码,查API
public class QueryByMonthTableModel extends AbstractTableModel{
/**
*
*/
private static final long serialVersionUID = 11191884802L;
/**
*
*/
private Vector expense;
public QueryByMonthTableModel(Vector expense) {
super();
this.expense = expense;
}
public int getColumnCount() {
// TODO Auto-generated method stub
return 8;
}
public int getRowCount() {
// TODO Auto-generated method stub
return expense.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
Expense exp=(Expense)expense.get(rowIndex);
switch(columnIndex){
case 0:return exp.getUid();case 1:return exp.getDate();
case 2:return exp.getDept();case 3:return exp.getEname();
case 4:return exp.getAmount();case 5:return exp.getExpenseType();
case 6:return exp.getExpenseAbstract();case 7:return exp.getCollectionPattern();
}
return null;
}
@Override
public String getColumnName(int arg0) {
switch(arg0){
case 0:return "序列";case 1:return "日期";
case 2:return "部门";case 3:return "领用人";
case 4:return "金额";case 5:return "类型";
case 6:return "摘要";case 7:return "汇总方式";
}
return "";
}
}
需要实现getColumnCount()、getRowCount()、getValueAt(int arg0, int arg1)这3个方法,当然还有个方法一般也覆盖掉getColumnName(int arg0),把你的每行元素都包装成一个类,放入一个集合中去,建议用Vetor集合,方便操作,如果要插入行可以插到Vetor中去,然后刷新JTable就可以了,用setModel()参数就放你自己写的TableModel类
你的第2个要求,直接用Vector实现就可以了,完全可以做到的,每次改变Vector中内容刷新JTable
下面是偶写的一个TableModel类,可以参考,具体怎么弄还要你自己敲代码,查API
public class QueryByMonthTableModel extends AbstractTableModel{
/**
*
*/
private static final long serialVersionUID = 11191884802L;
/**
*
*/
private Vector expense;
public QueryByMonthTableModel(Vector expense) {
super();
this.expense = expense;
}
public int getColumnCount() {
// TODO Auto-generated method stub
return 8;
}
public int getRowCount() {
// TODO Auto-generated method stub
return expense.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
Expense exp=(Expense)expense.get(rowIndex);
switch(columnIndex){
case 0:return exp.getUid();case 1:return exp.getDate();
case 2:return exp.getDept();case 3:return exp.getEname();
case 4:return exp.getAmount();case 5:return exp.getExpenseType();
case 6:return exp.getExpenseAbstract();case 7:return exp.getCollectionPattern();
}
return null;
}
@Override
public String getColumnName(int arg0) {
switch(arg0){
case 0:return "序列";case 1:return "日期";
case 2:return "部门";case 3:return "领用人";
case 4:return "金额";case 5:return "类型";
case 6:return "摘要";case 7:return "汇总方式";
}
return "";
}
}
展开全部
自己写一个TableModel
初始放一个10行的空model进去
插入的时候把model 的数据更新一下
只要是把tablemodel写好就很好操作了
有时间交流一下
写一个TableModel类,继承AbstractTableModel这个抽象类
需要实现getColumnCount()、getRowCount()、getValueAt(int arg0, int arg1)这3个方法,当然还有个方法一般也覆盖掉getColumnName(int arg0),把你的每行元素都包装成一个类,放入一个集合中去,建议用Vetor集合,方便操作,如果要插入行可以插到Vetor中去,然后刷新JTable就可以了,用setModel()参数就放你自己写的TableModel类
你的第2个要求,直接用Vector实现就可以了,完全可以做到的,每次改变Vector中内容刷新JTable
下面是偶写的一个TableModel类,可以参考,具体怎么弄还要你自己敲代码,查API
public class QueryByMonthTableModel extends AbstractTableModel{
/**
*
*/
private static final long serialVersionUID = 11191884802L;
/**
*
*/
private Vector expense;
public QueryByMonthTableModel(Vector expense) {
super();
this.expense = expense;
}
public int getColumnCount() {
// TODO Auto-generated method stub
return 8;
}
public int getRowCount() {
// TODO Auto-generated method stub
return expense.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
Expense exp=(Expense)expense.get(rowIndex);
switch(columnIndex){
case 0:return exp.getUid();case 1:return exp.getDate();
case 2:return exp.getDept();case 3:return exp.getEname();
case 4:return exp.getAmount();case 5:return exp.getExpenseType();
case 6:return exp.getExpenseAbstract();case 7:return exp.getCollectionPattern();
}
return null;
}
@Override
public String getColumnName(int arg0) {
switch(arg0){
case 0:return "序列";case 1:return "日期";
case 2:return "部门";case 3:return "领用人";
case 4:return "金额";case 5:return "类型";
case 6:return "摘要";case 7:return "汇总方式";
}
return "";
}
}
初始放一个10行的空model进去
插入的时候把model 的数据更新一下
只要是把tablemodel写好就很好操作了
有时间交流一下
写一个TableModel类,继承AbstractTableModel这个抽象类
需要实现getColumnCount()、getRowCount()、getValueAt(int arg0, int arg1)这3个方法,当然还有个方法一般也覆盖掉getColumnName(int arg0),把你的每行元素都包装成一个类,放入一个集合中去,建议用Vetor集合,方便操作,如果要插入行可以插到Vetor中去,然后刷新JTable就可以了,用setModel()参数就放你自己写的TableModel类
你的第2个要求,直接用Vector实现就可以了,完全可以做到的,每次改变Vector中内容刷新JTable
下面是偶写的一个TableModel类,可以参考,具体怎么弄还要你自己敲代码,查API
public class QueryByMonthTableModel extends AbstractTableModel{
/**
*
*/
private static final long serialVersionUID = 11191884802L;
/**
*
*/
private Vector expense;
public QueryByMonthTableModel(Vector expense) {
super();
this.expense = expense;
}
public int getColumnCount() {
// TODO Auto-generated method stub
return 8;
}
public int getRowCount() {
// TODO Auto-generated method stub
return expense.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
Expense exp=(Expense)expense.get(rowIndex);
switch(columnIndex){
case 0:return exp.getUid();case 1:return exp.getDate();
case 2:return exp.getDept();case 3:return exp.getEname();
case 4:return exp.getAmount();case 5:return exp.getExpenseType();
case 6:return exp.getExpenseAbstract();case 7:return exp.getCollectionPattern();
}
return null;
}
@Override
public String getColumnName(int arg0) {
switch(arg0){
case 0:return "序列";case 1:return "日期";
case 2:return "部门";case 3:return "领用人";
case 4:return "金额";case 5:return "类型";
case 6:return "摘要";case 7:return "汇总方式";
}
return "";
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己写一个TableModel
初始放一个10行的空model进去
插入的时候把model 的数据更新一下
只要是把tablemodel写好就很好操作了
有时间交流一下
初始放一个10行的空model进去
插入的时候把model 的数据更新一下
只要是把tablemodel写好就很好操作了
有时间交流一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询