0
ボタンをクリックできないという問題が発生しました。彼らはボタンのデザインを持つテキストフィールドのように振る舞います。jTuttonでjButtonをクリックできない
私Main
:
tableModStudents = (DefaultTableModel) studentsTable.getModel();
studentsTable.getColumn(studentsTable.getColumnName(8))
.setCellRenderer(new JButtonRenderer());
studentsTable.getColumn(studentsTable.getColumnName(8))
.setCellEditor(new JButtonEditor());
私CellRenderer
:
public class JButtonRenderer implements TableCellRenderer {
private JButton button = new JButton();
public Component getTableCellRendererComponent(JTable table,
Object buttonText, boolean isSelected, boolean hasFocus,
int row, int column) {
table.setShowGrid(true);
button.setText("Details");
button.setToolTipText(buttonText.toString());
return button;
}
}
私CellEditor
:
public class JButtonEditor extends AbstractCellEditor implements TableCellEditor {
private JButton button;
private String txt;
public JButtonEditor() {
super();
button = new JButton();
button.setOpaque(true);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.out.println("Button gedrückt!");
}
});
}
public Object getCellEditorValue() {
return null;
}
public boolean isCellEditable(EventObject anEvent) {
return true;
}
public boolean shouldSelectCell(EventObject anEvent) {
return false;
}
public boolean stopCellEditing() {
return super.stopCellEditing();
}
public void cancelCellEditing() {
}
public void addCellEditorListener(CellEditorListener l) {
}
public void removeCellEditorListener(CellEditorListener l) {
}
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
txt = (value == null) ? "" : value.toString();
button.setText(txt);
return button;
}
}
は、あなたはそれで問題を見つけることができますか?それはそんなに私のクレイジー...
感謝を駆動:)
SOのこの[質問](http://stackoverflow.com/q/1475543/243373)には、ソリューションへのリンクがいくつかあります。 –