ohnoohyes 2015-05-11 04:54
浏览 1020

重新绘制JTable后,点击JTable中的数据又还原了,该如何处理?

左边这个JTable里面是单列数据,数据来自于重写的AbstractTableModel,而Model的数据来自于数据库。希望点击各个radiobutton可以变成不同的表,如下面两张图。图片说明
图片说明
现在问题是,例如当我点击了Kinase按钮之后,再点击JTable里面的数据,这个数据就还原成了之前的数据,我想问问这个如何解决?感激不尽!
图片说明
部分代码如下:
JFrame的按钮部分:
String table_title = null;
rdbtnProtein = new JRadioButton("Protein");
contentPane.add(rdbtnProtein);
rdbtnProtein.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
table1_title = "Protein";
JTable jt = new JTable();
createTable1(jt, table1_title);
}
});

rdbtnKinase的代码雷同

private void createTable1(JTable table_BioElments, String title) {
myTableModel_1 myModel_1= new myTableModel_1(title);
table_BioElments = new JTable(myModel_1);
table_BioElments.setCellSelectionEnabled(true);
contentPane.add(table_BioElments);
jsp_1 = new JScrollPane(table_BioElments);
contentPane.add(jsp_1);
}
myTableModel_1部分:
public class myTableModel_1 extends AbstractTableModel {
private Vector TableData;//用来存放表格数据的线性表
private Vector TableTitle;//表格的列标题
private HashSet sh;//储存不重复的数据

public myTableModel_1(String title){//构造函数
TableData = new Vector();
TableTitle= new Vector();

TableTitle.add(title);//设定表头,只有一个
sh = database_control.getColumn(title);//从数据库获取数据
}

public void addData(HashSet sh) {
Iterator it = sh.iterator();
while(it.hasNext()){
String[] lineData = {it.next()};
TableData.add(lineData);
}
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算
    • ¥15 java如何提取出pdf里的文字?