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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥88 实在没有想法,需要个思路
    • ¥15 MATLAB报错输入参数太多
    • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
    • ¥15 有赏,i卡绘世画不出
    • ¥15 如何用stata画出文献中常见的安慰剂检验图
    • ¥15 c语言链表结构体数据插入
    • ¥40 使用MATLAB解答线性代数问题
    • ¥15 COCOS的问题COCOS的问题
    • ¥15 FPGA-SRIO初始化失败
    • ¥15 MapReduce实现倒排索引失败