package _VisualDVM.ProjectData.Messages; import Common.Database.Tables.DataSet; import Common.Visual.DataSetControlForm; import Common.Visual.Tables.HeaderTextFilter; import Common.Visual.Tables.RendererWrapText; import _VisualDVM.Global; import javax.swing.*; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; public class MessagesControlForm extends DataSetControlForm { public MessagesControlForm(DataSet dataSource_in, JPanel mountPanel_in) { super(dataSource_in, mountPanel_in); } @Override public String[] getUIColumnNames() { return new String[]{ "группа", "строка", "текст"}; } @Override public void ShowCurrentObject() throws Exception { super.ShowCurrentObject(); Global.mainModule.getFile().form.getEditor().gotoLine(((Message)dataSource.getCurrent()).line); } @Override protected void AdditionalInitColumns() { columns.get(0).setVisible(false); columns.get(3).setMinWidth(700); columns.get(3).setRendererClass(RendererWrapText.class); } @Override public void MouseAction2() throws Exception { ShowCurrentObject(); } @Override protected void createControl() { super.createControl(); headersTextFilters.put(3, new HeaderTextFilter(dataSource, 3)); control.setRowSorter(null); TableRowSorter sorter = new TableRowSorter<>(control.getModel()); sorter.setSortable(3, false); control.setRowSorter(sorter); /* List sortKeys = new ArrayList<>(); for (int i = 0; i < 6; ++i) sorter.setSortable(i, false); sortKeys.add(new RowSorter.SortKey(6, SortOrder.DESCENDING)); sortKeys.add(new RowSorter.SortKey(7, SortOrder.DESCENDING)); */ // sorter.setSortKeys(sortKeys); // sorter.sort(); } @Override public boolean hasMenuBar() { return false; } }