如下图所示,在表格单元格中添加标签和按钮:
代码如下:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.AbstractCellEditor;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelEx
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import com.customcomponent.basicClass.BasicTableColumnModel;
import syspublicpanel.table.SysLoadTable;
import syspublicpanel.table.SysLoadTableModel;
import uiframework.tools.UIProperties;
public class TestTableRenderer extends JFrame {
this.setLocation(200, 100);
this.setLayout(new BorderLayout());
this.setVisible(true);
private SysLoadTable getTestTable() {
if (testTable == null) {
SysLoadTableModel tableModel = new SysLoadTableModel(colNames);
tableModel.setColumnEditable("第三列", true);// 设置第三列可编辑
tableModel.addRow(new Object[] { "11", "22", null });
testTable = new SysLoadTable(tableModel);
columnModel.getColumn(2).setCellRenderer(new CustomTableRenderer());
columnModel.getColumn(2).setCellEditor(new CustomTableRenderer());
}
return testTable;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
}
class CustomTableRenderer extends AbstractCellEditor implements TableCellRenderer, TableCellEditor {
private static final long serialVersionUID = 7380564532198049597L;
private JButton modifyButton = null;// 修改按钮
delLabel.setToolTipText("删除");
panel = new JPanel();
panel.setBackground(Color.WHITE);
public Component getTableCellRendererComp
}
public Component getTableCellEditorCompon
if (row == table.getSelectedRow()) {
}
}