如题,为什么我写的代码单元格内却是一大串字符串呢? Vector<Object> v ;
JButton button ;
v = new Vector<Object>() ;
button = new JButton("登记") ;
v.add("name") ;
v.add("type") ;
v.add((JButton)button) ;
((DefaultTableModel)table.getModel()).addRow(v) ;
希望高手们能为我解答一下~~
JButton button ;
v = new Vector<Object>() ;
button = new JButton("登记") ;
v.add("name") ;
v.add("type") ;
v.add((JButton)button) ;
((DefaultTableModel)table.getModel()).addRow(v) ;
希望高手们能为我解答一下~~
public class TestJTable {
public static JTable table;
public static void main(String[] args) {
JFrame frame = new JFrame("Test Table Header");
table = new JTable(6,6);
TableRender render = new TableRender();
table.setRowHeight(20);
TableEditor editor = new TableEditor(new JTextField());
table.getColumnModel().getColumn(1).setCellRenderer(render);
table.getColumnModel().getColumn(1).setCellEditor(editor);
editor.setClickCountToStart(0);
JScrollPane pane = new JScrollPane(table);
frame.setContentPane(pane);
frame.setPreferredSize(new Dimension(500,500));
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
public class TableRender extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (row<0||column!=1)
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
else {
JButton label = new JButton("button");
label.setPreferredSize(new Dimension(table.getColumnModel().getColumn(column).getPreferredWidth(),20));
return label;
}
}
}
public class TableEditor extends DefaultCellEditor {
public TableEditor(JCheckBox checkBox) {
super(checkBox);
}
public TableEditor(JComboBox comboBox) {
super(comboBox);
}
public TableEditor(JTextField textField) {
super(textField);
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
if (row<0||column!=1)
return super.getTableCellEditorComponent(table, value, isSelected, row, column);
else {
JButton label = new JButton("button");
label.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(null, "test");
}
});
label.setPreferredSize(new Dimension(table.getColumnModel().getColumn(column).getPreferredWidth(),20));
return label;
}
}
}