TableCellEditorButton.java 1.7 KB

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