package com.mes.ui; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class TableCellEditorButton extends DefaultCellEditor { private JButton btn; public TableCellEditorButton() { super(new JTextField()); //设置点击一次就激活,否则默认好像是点击2次激活。 this.setClickCountToStart(1); btn = new JButton("扫码"); btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("按钮事件触发----"); int selectedRow = MesClient.table.getSelectedRow();//获得选中行的索引 // MesClient.rowData[selectedRow][1] = (new Date()).getTime(); // MesClient.table.repaint(); //重绘 // MesClient.scan_type = selectedRow + 4; BindMaterialResp bindMaterialResp = new BindMaterialResp(); bindMaterialResp.setMaterialTitle(MesClient.rowData[selectedRow][0] + ""); bindMaterialResp.setBatchSn(MesClient.rowData[selectedRow][1] + ""); bindMaterialResp.setLastTimes(MesClient.rowData[selectedRow][2] + ""); bindMaterialResp.setCraft(MesClient.rowData[selectedRow][4] + ""); bindMaterialResp.setMaterialId(MesClient.rowData[selectedRow][5] + ""); bindMaterialResp.setType(MesClient.rowData[selectedRow][6] + ""); MesClient.scanBatchSn(bindMaterialResp); } }); } @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { return btn; } }