为了账号安全,请及时绑定邮箱和手机立即绑定

jtable ListSelectionListener错误

jtable ListSelectionListener错误

叮当猫咪 2018-12-06 13:02:03
public synchronized void run(){ if (SwingUtilities.isEventDispatchThread()) { //AWT指派线程    System.out.println("---收到数据 回来-----");  String [] columnNames={" ","是否选择","逻辑条形码","商品名称","规格","单位","销售单价","颜色","颜色代码","条形码"};  Object [][]obj={    {"1",new Boolean(false),"01001011000","商品名称商品名称","12*1","包","123.5","红色","02","121211"},    {"2",new Boolean(false),"01001011050","商品名称商品名称","12*1","包","12","粉红色","03","121211"},    {"3",new Boolean(false),"01001011040","商品名称商品名称","12*1","包","9.5","棕色","25","121211"},  };//改变 Into.jtable  Into.jtable.setModel(new MyTableModel(obj,columnNames));        Into.jtable.setEnabled(false);     //设置监听行  selectionMode=Into.jtable.getSelectionModel();  selectionMode.addListSelectionListener(new ListSelectionListener(){   @Override   public void valueChanged(ListSelectionEvent e) {    int rows=Into.jtable.getSelectedRow();    //取得选中的第几行    if(rows>-1 && e.getValueIsAdjusting()){       Boolean object=(Boolean)Into.jtable.getValueAt(rows,1);//取得单元格的值     Into.jtable.setValueAt(new Boolean(!object), rows,1);    }       }     });  Into.jtable.setEnabled(true);  }else{    SwingUtilities.invokeLater(this);  }}sokcet收到数据后,执行这个线程,但是,第一次收到数据,执行一次ListSelectionListener里面的两次valueChanged,第二次收到数据,执行两次ListSelectionListener里面的四次valueChanged,收到第三次数据,执行三次ListSelectionListener里面的八次valueChanged,如此类推。。。。知道每选中Jtable一行,都执行一次ListSelectionListener里面的两次valueChanged,但是怎么会跟收到数据的次数有关?哪错了?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 636 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信