TableCellEditorButton.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.mes.ui;
  2. import org.slf4j.Logger;
  3. import org.slf4j.LoggerFactory;
  4. import javax.swing.*;
  5. import java.awt.*;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. public class TableCellEditorButton extends DefaultCellEditor {
  9. public static final Logger log = LoggerFactory.getLogger(TableCellEditorButton.class);
  10. private JButton btn;
  11. public TableCellEditorButton() {
  12. super(new JTextField());
  13. //设置点击一次就激活,否则默认好像是点击2次激活。
  14. this.setClickCountToStart(1);
  15. btn = new JButton("扫码");
  16. btn.addActionListener(new ActionListener() {
  17. @Override
  18. public void actionPerformed(ActionEvent e) {
  19. log.info("按钮事件触发----");
  20. int selectedRow = MesClient.table.getSelectedRow();//获得选中行的索引
  21. // MesClient.rowData[selectedRow][1] = (new Date()).getTime();
  22. // MesClient.table.repaint(); //重绘
  23. // MesClient.scan_type = selectedRow + 4;
  24. BindMaterialResp bindMaterialResp = new BindMaterialResp();
  25. bindMaterialResp.setMaterialTitle(MesClient.rowData[selectedRow][0] + "");
  26. bindMaterialResp.setBatchSn(MesClient.rowData[selectedRow][1] + "");
  27. bindMaterialResp.setLastTimes(MesClient.rowData[selectedRow][2] + "");
  28. bindMaterialResp.setCraft(MesClient.rowData[selectedRow][4] + "");
  29. bindMaterialResp.setMaterialId(MesClient.rowData[selectedRow][5] + "");
  30. bindMaterialResp.setType(MesClient.rowData[selectedRow][6] + "");
  31. // MesClient.scanBatchSn(bindMaterialResp);
  32. }
  33. });
  34. }
  35. @Override
  36. public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
  37. return btn;
  38. }
  39. }