diff options
| author | Jonathan Bauer | 2015-08-04 13:44:09 +0200 |
|---|---|---|
| committer | Jonathan Bauer | 2015-08-04 13:44:09 +0200 |
| commit | b08e3ab8d03f7434ab73e612e5c7fad9b0431e56 (patch) | |
| tree | d0967b083634dccaa6b01eee7c99ab81fc69ea28 | |
| parent | [client] Feature: save session to skip login (diff) | |
| download | tutor-module-b08e3ab8d03f7434ab73e612e5c7fad9b0431e56.tar.gz tutor-module-b08e3ab8d03f7434ab73e612e5c7fad9b0431e56.tar.xz tutor-module-b08e3ab8d03f7434ab73e612e5c7fad9b0431e56.zip | |
[client] improved table boolean object support (for checkboxes)
3 files changed, 12 insertions, 38 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java index 3f1361a4..508457b5 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java @@ -12,7 +12,7 @@ public class ImageTable extends ListTable<ImageSummaryRead> { { "Name", "OS", "Verantwortlicher", "Letztes Update", "Größe", "Version", "Vorlage" }; private static Class<?>[] columnClasses = - { String.class, String.class, String.class, String.class, String.class }; + { String.class, String.class, String.class, String.class, String.class, String.class, Boolean.class }; public ImageTable() { super(columnNames, columnClasses); @@ -34,7 +34,7 @@ public class ImageTable extends ListTable<ImageSummaryRead> { if (columnIndex == 5) return row.getCurrentVersionId() == null ? "-" : row.getCurrentVersionId(); if (columnIndex == 6) - return row.isTemplate ? "Ja" : "Nein"; + return row.isTemplate; throw new IndexOutOfBoundsException(); } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java index 28ff9f9b..c1a922ae 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LecturePermissionTable.java @@ -10,8 +10,10 @@ public class LecturePermissionTable extends ListTable<UserLecturePermissions> { private static String[] columnNames = { "Benutzer", "Bearbeiten", "Admin" }; + private static Class<?>[] columnClasses = { String.class, Boolean.class, Boolean.class}; + public LecturePermissionTable() { - super(columnNames, null); + super(columnNames, columnClasses); } @Override diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java index 18f3d015..d37d03d7 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java @@ -40,6 +40,8 @@ public abstract class ListTable<T> extends JTable { this.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); this.getTableHeader().setReorderingAllowed(false); this.setDefaultRenderer(Object.class, new TableRenderer()); + this.setDefaultRenderer(Boolean.class, getDefaultRenderer(Boolean.class)); + this.setDefaultEditor(Boolean.class, getDefaultEditor(Boolean.class)); this.setRowSelectionAllowed(true); this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); } @@ -80,40 +82,6 @@ public abstract class ListTable<T> extends JTable { public TableRowSorter<ListModel> getRowSorter() { return sorter; } - private Class<?> editingClass; - - @Override - public TableCellRenderer getCellRenderer(int row, int column) { - editingClass = null; - int modelColumn = convertColumnIndexToModel(column); - if (modelColumn >= 1) { - Class<?> rowClass = getModel().getValueAt(row, modelColumn).getClass(); - return getDefaultRenderer(rowClass); - } else { - return super.getCellRenderer(row, column); - } - } - - @Override - public TableCellEditor getCellEditor(int row, int column) { - editingClass = null; - int modelColumn = convertColumnIndexToModel(column); - if (modelColumn > 0) { - editingClass = getModel().getValueAt(row, modelColumn).getClass(); - return getDefaultEditor(editingClass); - } else { - return super.getCellEditor(row, column); - } - } - // This method is also invoked by the editor when the value in the editor - // component is saved in the TableModel. The class was saved when the - // editor was invoked so the proper class can be created. - - @Override - public Class<?> getColumnClass(int column) { - return editingClass != null ? editingClass : model.getColumnClass(column); - } - /** * Model for our table @@ -127,9 +95,13 @@ public abstract class ListTable<T> extends JTable { protected List<T> data = null; public ListModel(String[] columnNames, Class<?>[] columnClasses) { + + if (columnClasses != null && columnClasses.length != columnNames.length) + throw new IllegalArgumentException(); + this.columnNames = columnNames; this.columnClasses = columnClasses; - // TODO check same length or IllegalArgumentException + } public void setData(List<T> list) { |
