0
문제가 발생하여 버튼을 클릭 할 수 없습니다. 그들은 버튼 디자인이있는 텍스트 필드처럼 행동합니다.jButton을 jTable에서 클릭 할 수 없습니다.
내 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;
}
}
은 당신이 가진 문제를 찾을 수 있습니까? 그것은 순전히 내 미친 ...
감사를 구동 :
그래서 [질문] (http://stackoverflow.com/q/1475543/243373)에 솔루션에 대한 링크가 있습니다. –