package mytest;
import java.awt.Component;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.table.*;
import org.jfree.xml.generator.ModelBuilder;
public class T extends JFrame{
private static final long serialVersionUID = 1L;
static JTable table = null;
static DefaultTableModel model=null;
static JScrollPane js=null ;
public T(){
model = new DefaultTableModel(
new String[] {
"课程名","教师","学分","学时","课程类别","课程性质","上课地点","上课时间","余量",""
},2
);
table = new JTable(model);
table.getColumnModel().getColumn(9).setCellEditor(new MyRender());//设置编辑器
table.getColumnModel().getColumn(9).setCellRenderer(new MyRender() );
js = new JScrollPane(table);
this.add(js);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setSize(399, 300);
this.setLocationRelativeTo(null);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new T();
}
}
//渲染 器 编辑器
class MyRender extends AbstractCellEditor implements TableCellRenderer,ActionListener, TableCellEditor{
private static final long serialVersionUID = 1L;
private JButton button =null;
public MyRender(){
button = new JButton("删除");
button.addActionListener(this);
}
@Override
public Object getCellEditorValue() {
// TODO Auto-generated method stub
return null;
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
// TODO Auto-generated method stub
return button;
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int row = T.table.getSelectedRow();
if(row != -1){
T.model.removeRow(row);
}
}
@Override
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
// TODO Auto-generated method stub
return button;
}