рефакторинг форм таблиц и заполнения информации о столбцах

This commit is contained in:
2024-10-26 14:34:55 +03:00
parent ffcad7a620
commit a79816082a
43 changed files with 1607 additions and 1189 deletions

View File

@@ -1,26 +1,13 @@
package Common.Visual.Tables;
import Common.CommonConstants;
public class ColumnInfo {
public abstract class ColumnInfo<D> {
private String Name = "?";
private boolean visible = true;
private boolean editable = false;
private Class rendererClass = null;
private Class editorClass = null;
private int maxWidth = CommonConstants.Nan;
private int minWidth = CommonConstants.Nan;
public ColumnInfo(String name_in) {
setName(name_in);
}
public ColumnInfo(String name_in, Class renderer_in, Class editor_in) {
setName(name_in);
setRendererClass(renderer_in);
setEditable(true);
setEditorClass(editor_in);
}
public ColumnInfo(String name_in, Class renderer_in) {
setName(name_in);
setRendererClass(renderer_in);
}
public abstract Object getFieldAt(D object);
public String getName() {
return Name;
}
@@ -34,23 +21,13 @@ public class ColumnInfo {
this.visible = visible_in;
}
public boolean isEditable() {
return editable;
}
public void setEditable(boolean editable_in) {
this.editable = editable_in;
return getEditorClass() != null;
}
public Class getRendererClass() {
return rendererClass;
}
public void setRendererClass(Class renderer_in) {
this.rendererClass = renderer_in;
return null;
}
public Class getEditorClass() {
return editorClass;
}
public void setEditorClass(Class editor_in) {
this.editorClass = editor_in;
setEditable(editorClass != null);
return null;
}
public boolean hasRenderer() {
return getRendererClass() != null;
@@ -59,22 +36,16 @@ public class ColumnInfo {
return getEditorClass() != null;
}
public int getMaxWidth() {
return maxWidth;
}
public void setMaxWidth(int maxWidth_in) {
this.maxWidth = maxWidth_in;
return CommonConstants.Nan;
}
public boolean hasMaxWidth() {
return maxWidth != CommonConstants.Nan;
return getMaxWidth() != CommonConstants.Nan;
}
//-
public int getMinWidth() {
return minWidth;
}
public void setMinWidth(int minWidth_in) {
this.minWidth = minWidth_in;
return CommonConstants.Nan;
}
public boolean hasMinWidth() {
return minWidth != CommonConstants.Nan;
return getMinWidth() != CommonConstants.Nan;
}
}

View File

@@ -28,7 +28,7 @@ public class HeaderTextFilter<D extends DBObject> implements DBObjectFilter_<D>
}
@Override
public boolean Validate(D object) {
Object field = dataSet.getUI().getFieldAt(object, columnIndex);
Object field = dataSet.getUI().getColumnInfo(columnIndex).getFieldAt(object);
return (field instanceof String) && field.toString().toLowerCase().contains(filterValue);
}
//---

View File

@@ -6,9 +6,9 @@ import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class RendereEditableHeader implements TableCellRenderer {
private final JComponent editor;
private JTable table = null;
private MouseEventReposter reporter = null;
private JComponent editor;
public RendereEditableHeader(JComponent editor) {
this.editor = editor;
this.editor.setBorder(UIManager.getBorder("TableHeader.cellBorder"));
@@ -30,10 +30,10 @@ public class RendereEditableHeader implements TableCellRenderer {
return this.editor;
}
static public class MouseEventReposter extends MouseAdapter {
private final JTableHeader header;
private final Component editor;
private Component dispatchComponent;
private JTableHeader header;
private int column = -1;
private Component editor;
public MouseEventReposter(JTableHeader header, int column, Component editor) {
this.header = header;
this.column = column;