Java 类javax.swing.table.TableRowSorter 实例源码
项目:scorekeeperfrontend
文件:QuickEntrySearch.java
/**
* This takes care of the processing required to validate the quickTextField
* input and send out a CAR_ADD event.
*/
private void processQuickTextField()
{
String carText = entry.getText().trim();
try
{
if (carText.length() > 0)
Integer.parseInt(carText);
TableRowSorter<EntryModel> sorter = new TableRowSorter<EntryModel>((EntryModel)cars.getModel());
sorter.setRowFilter(new QuickEntryFilter(carText));
cars.setRowSorter(sorter);
int visible = sorter.getViewRowCount();
if (visible > 0 && visible < 10)
cars.setRowSelectionInterval(0, 0);
else
cars.clearSelection();
}
catch(NumberFormatException fe)
{
log.warning("\bThe provided registration card # is not a number ("+carText+").");
return;
}
}
项目:bisis-v4
文件:MonographInventarPanel.java
private void createPrimerciTable(){
primerciTableModel = new PrimerciTableModel();
primerciTable = new JTable(primerciTableModel);
primerciTable.setRowSorter(new TableRowSorter<PrimerciTableModel>(primerciTableModel));
primerciScrollPane = new JScrollPane(primerciTable);
listSelModel = primerciTable.getSelectionModel();
adjustInventarColumnWidth();
listSelModel.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
handleListSelectionChanged();
}
});
primerciTable.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent ke) {
handleKeys(ke);
}
});
}
项目:JHelioviewer-SWHV
文件:ParameterTablePanel.java
ParameterTablePanel(JHVEventParameter[] parameters) {
setLayout(new BorderLayout());
ParameterTableModel parameterModel = new ParameterTableModel(parameters);
JTable table = new WrappedTable();
table.setModel(parameterModel);
table.setAutoCreateRowSorter(true);
table.getColumnModel().getColumn(0).setResizable(false);
table.getColumnModel().getColumn(0).setMaxWidth(180);
table.getColumnModel().getColumn(0).setPreferredWidth(180);
table.getColumnModel().getColumn(1).setPreferredWidth(200);
table.getColumnModel().getColumn(1).setCellRenderer(new WrappedTextRenderer());
table.setPreferredScrollableViewportSize(new Dimension(table.getWidth(), 150));
// table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
TableRowSorter<ParameterTableModel> sorter = new TableRowSorter<>(parameterModel);
sorter.toggleSortOrder(0);
table.setRowSorter(sorter);
table.addMouseMotionListener(this);
table.addMouseListener(this);
add(new JScrollPane(table), BorderLayout.CENTER);
}
项目:JHelioviewer-SWHV
文件:MetaDataDialog.java
public MetaDataDialog(ImageLayer layer) {
super(ImageViewerGui.getMainFrame(), "Image Information");
exportFitsButton.setEnabled(false);
setMetaData(layer);
TableRowSorter<TableModel> sorter = new TableRowSorter<>(fitsModel);
JTable fitsTable = new JTable(fitsModel);
fitsTable.setRowSorter(sorter);
setInitFocusedComponent(fitsTable);
SearchableUtils.installSearchable(fitsTable);
JTextArea basicArea = new JTextArea(basicSB.toString().trim());
basicArea.setEditable(false);
JTextArea hvArea = new JTextArea(hvSB.toString().trim());
hvArea.setEditable(false);
hvArea.setLineWrap(true);
hvArea.setWrapStyleWord(true);
content.add(new JScrollPane(basicArea));
content.add(new JScrollPane(fitsTable));
content.add(new JScrollPane(hvArea));
}
项目:taxonaut
文件:NameTable.java
protected void initializeLocalVars()
{
super.initializeLocalVars();
Enumeration<TableColumn> e = getColumnModel().getColumns();
int i = 0;
while(e.hasMoreElements() && i < attributes.length) {
e.nextElement().setCellRenderer(new NameTableCellRenderer(attributes[i++]));
}
getColumnModel().getColumn(0).setMinWidth(0);
getColumnModel().getColumn(0).setPreferredWidth(3);
TableRowSorter<NameTableModel/*<T>*/> sorter =
new TableRowSorter<NameTableModel/*<T>*/>((NameTableModel/*<T>*/)getModel());
for (NameUsageAttribute attribute : attributes) {
sorter.setComparator(attribute.ordinal(), new NameUsageAttributeComparator(attribute));
}
setRowSorter(sorter);
setDragEnabled(true);
}
项目:littleluck
文件:DefaultsDisplay.java
protected JComponent createFilterControl() {
onlyVisualsCheckBox = new JCheckBox("Show Only Visual Defaults");
onlyVisualsCheckBox.setSelected(true);
onlyVisualsCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
boolean showOnlyVisuals = onlyVisualsCheckBox.isSelected();
for(int i = 0; i < tabPane.getTabCount() ; i++) {
JScrollPane scrollpane = (JScrollPane)tabPane.getComponentAt(i);
JTable table = (JTable)scrollpane.getViewport().getView();
TableRowSorter sorter = (TableRowSorter)table.getRowSorter();
sorter.setRowFilter(showOnlyVisuals? visualsFilter : null);
}
}
});
return onlyVisualsCheckBox;
}
项目:littleluck
文件:DefaultsDisplay.java
protected void initFilters(JTable table) {
TableRowSorter sorter = new TableRowSorter(table.getModel());
table.setRowSorter(sorter);
if (visualsFilter == null) {
visualsFilter = new RowFilter<UIDefaultsTableModel,Integer>() {
public boolean include(Entry<? extends UIDefaultsTableModel, ? extends Integer> entry) {
UIDefaultsTableModel model = entry.getModel();
Object defaultsValue = model.getValueAt(entry.getIdentifier().intValue(),
UIDefaultsTableModel.VALUE_COLUMN);
return defaultsValue instanceof Color ||
defaultsValue instanceof Font ||
defaultsValue instanceof Icon;
}
};
}
if (onlyVisualsCheckBox.isSelected()) {
sorter.setRowFilter(visualsFilter);
}
}
项目:alisma
文件:TaxonPersoList.java
public TableData(DefaultTableModel defaultTableModel) {
super(defaultTableModel);
setAutoCreateRowSorter(true);
setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
((DefaultTableModel) getModel()).setDataVector(new String[1][7],
columnName);
getTableHeader().setResizingAllowed(true);
getColumnModel().getColumn(0).setPreferredWidth(70);
getColumnModel().getColumn(1).setPreferredWidth(255);
getColumnModel().getColumn(2).setPreferredWidth(215);
getColumnModel().getColumn(3).setPreferredWidth(60);
getColumnModel().getColumn(4).setPreferredWidth(90);
getColumnModel().getColumn(5).setPreferredWidth(100);
getColumnModel().getColumn(1).setCellRenderer(
new ItalicCellRenderer());
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(
this.getModel());
setRowSorter(sorter);
sorter.setComparator(4, new StringComparator());
sorter.setComparator(5, new StringComparator());
sorter.setComparator(6, new StringComparator());
}
项目:alisma
文件:TaxonList.java
public TableData(DefaultTableModel defaultTableModel) {
super(defaultTableModel);
setAutoCreateRowSorter(true);
getTableHeader().setReorderingAllowed(false);
setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
getTableHeader().setResizingAllowed(true);
((DefaultTableModel) getModel()).setDataVector(
new String[1][9], columnName);
getColumnModel().getColumn(0).setPreferredWidth(70);
getColumnModel().getColumn(1).setPreferredWidth(255);
getColumnModel().getColumn(2).setPreferredWidth(215);
getColumnModel().getColumn(3).setPreferredWidth(60);
getColumnModel().getColumn(4).setPreferredWidth(45);
getColumnModel().getColumn(5).setPreferredWidth(45);
getColumnModel().getColumn(6).setPreferredWidth(70);
getColumnModel().getColumn(7).setPreferredWidth(70);
getColumnModel().getColumn(8).setPreferredWidth(100);
getColumnModel().getColumn(1).setCellRenderer(
new ItalicCellRenderer());
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(
this.getModel());
sorter.setComparator(4, new StringComparator());
sorter.setComparator(5, new StringComparator());
sorter.setComparator(6, new StringComparator());
setRowSorter(sorter);
}
项目:Al-kaboom
文件:TaulaPanela.java
public TaulaPanela(String mota, String izena) {
this.setLayout(new BorderLayout());
if (mota.equalsIgnoreCase("Kautotu"))
gureModeloa = new KautotuTaulaModeloa(izena);
else
gureModeloa = new RankingTaulaModeloa(mota);
gureTaula = new ZebraJTable(gureModeloa);
gureTaula.setCellSelectionEnabled(true);
ListSelectionModel cellSelectionModel = gureTaula.getSelectionModel();
cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
cellSelectionModel.addListSelectionListener(this);
gureTaula.setRowSorter(new TableRowSorter<>(gureModeloa));
gureJScrollPane = new JScrollPane(gureTaula);
gureJScrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
gureJScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
this.add(gureJScrollPane, BorderLayout.CENTER);
}
项目:iBioSim
文件:SBOLInputDialog.java
private void updateFilter(String filterText)
{
filterText = "(?i)" + filterText;
@SuppressWarnings({ "rawtypes", "unchecked" })
TableRowSorter<TopLevelTableModel> sorter = (TableRowSorter) table.getRowSorter();
if (filterText.length() == 0) {
sorter.setRowFilter(null);
} else {
try {
RowFilter<TopLevelTableModel, Object> rf = RowFilter.regexFilter(filterText, 0, 1);
sorter.setRowFilter(rf);
} catch (java.util.regex.PatternSyntaxException e) {
sorter.setRowFilter(null);
}
}
tableLabel.setText("Matching parts (" + sorter.getViewRowCount() + ")");
}
项目:ALEA
文件:EncodeTableModel.java
public EncodeTableModel(String [] headings, List<EncodeFileRecord> records) {
this.records = records;
List<String> tmp = new ArrayList<String>();
tmp.add(""); // Checkbox heading
for(String h : headings) {
String heading = h.trim();
if(heading.length() > 0 && !"path".equals(heading)) {
tmp.add(heading);
}
}
//tmp.add("path");
columnHeadings = tmp.toArray(new String[tmp.size()]);
sorter = new TableRowSorter<EncodeTableModel>(this);
sorter.setStringConverter(new TableStringConverter() {
@Override
public String toString(TableModel model, int row, int column) {
final Object value = model.getValueAt(row, column);
return value == null ? "" : value.toString();
}
});
}
项目:theSemProject
文件:FilesAndSegmentsUtils.java
/**
* filtra la tabella dei segmenti sui segmenti classificati sul primo
* livello
*
* @param semGui frame
* @param level livello
*/
public static void segmentsTableFilterOnFirstLevel(SemGui semGui, int level) {
TableRowSorter<TableModel> sorter = (TableRowSorter<TableModel>) semGui.getSegmentsTable().getRowSorter();
sorter.setRowFilter(new RowFilter() {
@Override
public boolean include(RowFilter.Entry entry) {
String idSeg = (String) entry.getValue(0);
Integer id = Integer.parseInt(idSeg.substring(0, idSeg.indexOf(".")));
SemDocument dto = semGui.getTableData().get(id);
if (dto != null) {
List<ClassificationPath> cpl = dto.getClassPath(idSeg);
if (cpl.size() > 0) {
if (cpl.get(0).getScore()[level] == 0) {
return true;
}
} else {
return true;
}
}
return false;
}
});
semGui.getSegmentsTable().setRowSorter(sorter);
semGui.getStatusSegments().setText("Totale filtrati elementi: " + semGui.getSegmentsTable().getRowCount());
}
项目:theSemProject
文件:GuiUtils.java
/**
* gestisce filtri multicampo sulla tabella
*
* @param table tabella
* @param text testo cercato
* @param idxs elenco degli id dei campi dove cercare
*/
public static void filterTable(JTable table, String text, int idxs[]) {
TableRowSorter<TableModel> sorter = (TableRowSorter<TableModel>) table.getRowSorter();
List<RowFilter<TableModel, Integer>> filters = new ArrayList<>(idxs.length);
if (text != null && text.length() > 0) {
for (int idx : idxs) {
table.getColumnModel().getColumn(idx).setCellRenderer(new JTableCellRender(text));
RowFilter<TableModel, Integer> filterC1 = RowFilter.regexFilter("(?i)" + text, idx);
filters.add(filterC1);
}
RowFilter<TableModel, Integer> filter = RowFilter.orFilter(filters);
sorter.setRowFilter(filter);
} else {
sorter.setRowFilter(null);
}
table.setRowSorter(sorter);
}
项目:theSemProject
文件:GuiUtils.java
/**
* gestisce filtri diversi su campi diversi sulla tabella
*
* @since 1.7
*
* @param table tabella
* @param text testi cercati
* @param idxs elenco degli id dei campi dove cercare
*/
public static void filterTable(JTable table, String text[], int idxs[]) {
TableRowSorter<TableModel> sorter = (TableRowSorter<TableModel>) table.getRowSorter();
List<RowFilter<TableModel, Integer>> filters = new ArrayList<>(idxs.length);
if (text != null && text.length > 0) {
for (int i = 0; i < idxs.length; i++) {
if (text[i] != null && text[i].length() > 0) {
LogGui.info("Aggiungo filtro " + text[i] + " su colonna "
+ idxs[i]);
table.getColumnModel().getColumn(idxs[i]).setCellRenderer(new JTableCellRender(text[i]));
RowFilter<TableModel, Integer> filterC1 = RowFilter.regexFilter("(?i)" + text[i], idxs[i]);
filters.add(filterC1);
}
}
RowFilter<TableModel, Integer> filter = RowFilter.andFilter(filters);
sorter.setRowFilter(filter);
} else {
sorter.setRowFilter(null);
}
table.setRowSorter(sorter);
}
项目:theSemProject
文件:GuiUtils.java
/**
* gestisce i filtri sullo stato
*
* @param filter1 primo filtro
* @param filter2 secondo filtro
* @param semGui frame
*/
public static void filterOnStatus(String filter1, String filter2, SemGui semGui) {
if (semGui.isIsClassify()) {
return;
}
TableRowSorter<TableModel> sorter = (TableRowSorter<TableModel>) semGui.getSegmentsTable().getRowSorter();
sorter.setRowFilter(new RowFilter() {
@Override
public boolean include(RowFilter.Entry entry) {
String val = (String) entry.getValue(6);
if (filter2 == null) {
return filter1.equals(val);
} else {
return filter1.equals(val) || filter2.equals(val);
}
}
});
semGui.getSegmentsTable().setRowSorter(sorter);
semGui.getStatusSegments().setText("Totale filtrati elementi: " + semGui.getSegmentsTable().getRowCount());
}
项目:JOSEPH
文件:Table.java
/**
* Create a new Table.
*
* @param tableModel
* The helper to organise the table entries.
*/
public Table(TableModel tableModel) {
super(tableModel);
this.tableModel = tableModel;
this.tableEntries = tableModel.getTableEntries();
// Add mouseListener to select row on mouse click
final Table parent = this;
this.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent event) {
// selects the row at which point the mouse is clicked
Point point = event.getPoint();
int currentRow = parent.rowAtPoint(point);
parent.setRowSelectionInterval(currentRow, currentRow);
}
});
// Enable sorting
TableRowSorter<javax.swing.table.TableModel> sorter = new TableRowSorter<>();
sorter.setModel(this.getModel());
this.setRowSorter(sorter);
this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
}
项目:JOSEPH
文件:BleichenbacherPkcs1Table.java
/**
* Create a new Table.
*
* @param tableModel
* The helper to organise the table entries.
*/
public BleichenbacherPkcs1Table(BleichenbacherPkcs1TableModel tableModel) {
super(tableModel);
this.tableModel = tableModel;
this.tableEntries = tableModel.getTableEntries();
// Add mouseListener to select row on mouse click
final BleichenbacherPkcs1Table parent = this;
this.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent event) {
// selects the row at which point the mouse is clicked
Point point = event.getPoint();
int currentRow = parent.rowAtPoint(point);
parent.setRowSelectionInterval(currentRow, currentRow);
}
});
// Enable sorting
TableRowSorter<javax.swing.table.TableModel> sorter = new TableRowSorter<>();
sorter.setModel(this.getModel());
this.setRowSorter(sorter);
this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
}
项目:safe-java
文件:AttributeBrowserController.java
void updateTableStructure() {
JTable table = filteredTable.getTable();
TableColumnModel columnModel = table.getColumnModel();
int columnCount = columnModel.getColumnCount();
AnalysisMethod analysisMethod = session.getAnalysisMethod();
if (analysisMethod == AnalysisMethod.HighestAndLowest && columnCount != 3) {
columnModel.addColumn(optionalColumn);
}
if (analysisMethod != AnalysisMethod.HighestAndLowest && columnCount == 3) {
optionalColumn = columnModel.getColumn(2);
columnModel.removeColumn(optionalColumn);
}
TableRowSorter<TableModel> sorter = filteredTable.getSorter();
configureSorter(sorter);
updateSelectedAttributes(sorter, table.getSelectedRows(), false);
}
项目:safe-java
文件:DomainBrowserController.java
@SuppressWarnings("unchecked")
void updateSelectedAttributes(TableRowSorter<TableModel> sorter,
int[] rows) {
CompositeMap compositeMap = session.getCompositeMap();
if (compositeMap == null) {
return;
}
NameValuePair<Integer> analysisType = (NameValuePair<Integer>) analysisTypes.getSelectedItem();
int typeIndex = analysisType.getValue();
IntScatterSet filteredDomains = new IntScatterSet();
IntStream rowIndexStream;
if (rows.length == 0) {
rowIndexStream = IntStream.range(0, filteredTable.getTable()
.getRowCount());
} else {
rowIndexStream = Arrays.stream(rows);
}
rowIndexStream.map(i -> sorter.convertRowIndexToModel(i))
.forEach(i -> filteredDomains.add(i));
applyColors(compositeMap, typeIndex, filteredDomains);
}
项目:SBOLDesigner
文件:PartInputDialog.java
private void updateFilter(String filterText) {
filterText = "(?i)" + filterText;
@SuppressWarnings({ "rawtypes", "unchecked" })
TableRowSorter<ComponentDefinitionTableModel> sorter = (TableRowSorter) table.getRowSorter();
if (filterText.length() == 0) {
sorter.setRowFilter(null);
} else {
try {
RowFilter<ComponentDefinitionTableModel, Object> rf = RowFilter.regexFilter(filterText, 0, 1);
sorter.setRowFilter(rf);
} catch (java.util.regex.PatternSyntaxException e) {
sorter.setRowFilter(null);
}
}
tableLabel.setText("Matching parts (" + sorter.getViewRowCount() + ")");
}
项目:SBOLDesigner
文件:SequenceInputDialog.java
private void updateFilter(String filterText) {
filterText = "(?i)" + filterText;
@SuppressWarnings({ "rawtypes", "unchecked" })
TableRowSorter<SequenceTableModel> sorter = (TableRowSorter) table.getRowSorter();
if (filterText.length() == 0) {
sorter.setRowFilter(null);
} else {
try {
RowFilter<SequenceTableModel, Object> rf = RowFilter.regexFilter(filterText, 0, 1);
sorter.setRowFilter(rf);
} catch (java.util.regex.PatternSyntaxException e) {
sorter.setRowFilter(null);
}
}
tableLabel.setText("Matching sequences (" + sorter.getViewRowCount() + ")");
}
项目:mitraq
文件:MiTRAQ.java
/**
* Clear the current filter, i.e., show all proteins.
*
* @param evt
*/
private void clearFilterResultsJButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearFilterResultsJButtonActionPerformed
currentFilterValues = new String[]{"", "", "", "", "", "", "", "", ""};
List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>();
RowFilter<Object, Object> allFilters = RowFilter.andFilter(filters);
((TableRowSorter) resultsJTable.getRowSorter()).setRowFilter(allFilters);
if (resultsJTable.getRowCount() > 0) {
resultsJTable.setRowSelectionInterval(0, 0);
}
updateResultTableSelection();
saveSettings(false);
}
项目:binnavi
文件:CProcessListPanel.java
/**
* Creates a new panel object.
*
* @param processList Process list shown in the table.
*/
public CProcessListPanel(final ProcessList processList) {
super(new BorderLayout());
m_processList = processList;
final CProcessListModel model = new CProcessListModel(processList);
m_sorter = new TableRowSorter<CProcessListModel>(model);
m_table = new JTable(model);
m_table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
m_table.setRowSorter(m_sorter);
final JScrollPane scrollPane = new JScrollPane(m_table);
scrollPane.setBorder(new TitledBorder("Please select a process to debug"));
add(scrollPane);
setPreferredSize(new Dimension(200, 200));
}
项目:binnavi
文件:CFilteredTable.java
/**
* Creates a new table object.
*
* @param model Model of the table.
* @param helpInfo Context-sensitive help information of the table.
*/
public CFilteredTable(final CFilteredTableModel<T> model, final IHelpInformation helpInfo) {
super(model);
m_model = model;
m_helpInfo = helpInfo;
// All tree tables support sorting
m_tableSorter = new TableRowSorter<CFilteredTableModel<T>>(model);
// Since the default sorter might not be appropriate for all columns
// the model provides sorters for the corresponding columns.
for (final Pair<Integer, Comparator<?>> sorter : model.getSorters()) {
m_tableSorter.setComparator(sorter.first(), sorter.second());
}
setRowSorter(m_tableSorter);
}
项目:binnavi
文件:CResultsTable.java
/**
* Creates a new results table.
*
* @param graph Graph where the highlighting happens.
* @param model Provides the results to display.
*/
public CResultsTable(final ZyGraph graph, final CSpecialInstructionsModel model) {
m_graph = graph;
m_model = model;
m_tableModel = new CResultsTableModel(model);
setModel(m_tableModel);
final TableRowSorter<CResultsTableModel> sorter =
new TableRowSorter<CResultsTableModel>(m_tableModel);
sorter.setComparator(CResultsTableModel.TYPE_COLUMN, new CTypeComparator());
sorter.setComparator(CResultsTableModel.ADDRESS_COLUMN, new HexStringComparator());
setRowSorter(sorter);
// Make sure that the status cells are colored.
getColumnModel()
.getColumn(CResultsTableModel.TYPE_COLUMN).setCellRenderer(new CTypeColumnRenderer());
getColumnModel()
.getColumn(CResultsTableModel.INSTRUCTION_COLUMN).setCellRenderer(new CMonospaceRenderer());
final InternalSelectionListener listener = new InternalSelectionListener();
getSelectionModel().addListSelectionListener(listener);
addMouseListener(listener);
}
项目:binnavi
文件:CTrackingResultsTable.java
/**
* Creates a new results tracking table.
*
* @param container Results container from where the results can be read.
*/
public CTrackingResultsTable(final CTrackingResultContainer container) {
m_container =
Preconditions.checkNotNull(container, "IE01691: Container argument can not be null");
m_model = new CTrackingResultsTableModel(container);
setModel(m_model);
m_sorter = new TableRowSorter<TableModel>(m_model);
setRowSorter(m_sorter);
m_sorter.setComparator(ADDRESS_COLUMN, new LexicalComparator());
// Make sure that the status cells are colored.
getColumnModel().getColumn(STATUS_COLUMN).setCellRenderer(new CStatusColumnRenderer());
getColumnModel().getColumn(INSTRUCTION_COLUMN).setCellRenderer(new CMonospaceRenderer());
final InternalSelectionListener listener = new InternalSelectionListener();
getSelectionModel().addListSelectionListener(listener);
addMouseListener(listener);
}
项目:AutoAnnotateApp
文件:ClusterPanel.java
private void updateClusterTable() {
int index = annotationSetCombo.getSelectedIndex();
AnnotationSet annotationSet = annotationSetCombo.getItemAt(index).getValue();
ClusterTableModel clusterModel = new ClusterTableModel(annotationSet);
int widths[] = getColumnWidths(clusterTable);
clusterTable.setModel(clusterModel);
setColumnWidths(clusterTable, widths);
TableColumn collapsedColumn = clusterTable.getColumnModel().getColumn(ClusterTableModel.COLLAPSED_COLUMN_INDEX);
collapsedColumn.setCellRenderer(new ClusterTableCollapsedCellRenderer(iconManager));
// sort
TableRowSorter<TableModel> sorter = new TableRowSorter<>(clusterTable.getModel());
clusterTable.setRowSorter(sorter);
List<SortKey> sortKeys = new ArrayList<>(2);
sortKeys.add(new RowSorter.SortKey(ClusterTableModel.NODES_COLUMN_INDEX, SortOrder.DESCENDING));
sortKeys.add(new RowSorter.SortKey(ClusterTableModel.CLUSTER_COLUMN_INDEX, SortOrder.ASCENDING));
sorter.setSortKeys(sortKeys);
sorter.sort();
}
项目:vso-intellij
文件:ImportForm.java
public void setTeamProjectTable(final ServerContextTableModel tableModel, final ListSelectionModel selectionModel) {
teamProjectTable.setModel(tableModel);
teamProjectTable.setSelectionModel(selectionModel);
// Setup table sorter
final RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(tableModel);
teamProjectTable.setRowSorter(sorter);
// Attach an index converter to fix the indexes if the user sorts the list
tableModel.setSelectionConverter(new TableModelSelectionConverter() {
@Override
public int convertRowIndexToModel(int viewRowIndex) {
if (viewRowIndex >= 0) {
return teamProjectTable.convertRowIndexToModel(viewRowIndex);
}
return viewRowIndex;
}
});
}
项目:vso-intellij
文件:TeamServicesSettingsForm.java
public void setContextTable(final ServerContextTableModel tableModel, final ListSelectionModel selectionModel) {
contextTable.setModel(tableModel);
contextTable.setSelectionModel(selectionModel);
// Setup table sorter
final RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(tableModel);
contextTable.setRowSorter(sorter);
// Attach an index converter to fix the indexes if the user sorts the list
tableModel.setSelectionConverter(new TableModelSelectionConverter() {
@Override
public int convertRowIndexToModel(int viewRowIndex) {
if (viewRowIndex >= 0) {
return contextTable.convertRowIndexToModel(viewRowIndex);
}
return viewRowIndex;
}
});
}
项目:vso-intellij
文件:SelectWorkItemsForm.java
public void setWorkItemTable(final WorkItemsTableModel tableModel, final ListSelectionModel selectionModel) {
workItemTable.setModel(tableModel);
workItemTable.setSelectionModel(selectionModel);
// Setup table sorter
RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(tableModel);
workItemTable.setRowSorter(sorter);
// Attach an index converter to fix the indexes if the user sorts the list
tableModel.setSelectionConverter(new TableModelSelectionConverter() {
@Override
public int convertRowIndexToModel(int viewRowIndex) {
if (viewRowIndex >= 0) {
return workItemTable.convertRowIndexToModel(viewRowIndex);
}
return viewRowIndex;
}
});
}
项目:vso-intellij
文件:CheckoutForm.java
public void setRepositoryTable(final ServerContextTableModel tableModel, final ListSelectionModel selectionModel) {
repositoryTable.setModel(tableModel);
repositoryTable.setSelectionModel(selectionModel);
// Setup table sorter
RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(tableModel);
repositoryTable.setRowSorter(sorter);
// Attach an index converter to fix the indexes if the user sorts the list
tableModel.setSelectionConverter(new TableModelSelectionConverter() {
@Override
public int convertRowIndexToModel(int viewRowIndex) {
if (viewRowIndex >= 0) {
return repositoryTable.convertRowIndexToModel(viewRowIndex);
}
return viewRowIndex;
}
});
}
项目:beautyeye
文件:DefaultsDisplay.java
protected JComponent createFilterControl() {
onlyVisualsCheckBox = new JCheckBox("Show Only Visual Defaults");
onlyVisualsCheckBox.setSelected(true);
onlyVisualsCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
boolean showOnlyVisuals = onlyVisualsCheckBox.isSelected();
for(int i = 0; i < tabPane.getTabCount() ; i++) {
JScrollPane scrollpane = (JScrollPane)tabPane.getComponentAt(i);
JTable table = (JTable)scrollpane.getViewport().getView();
TableRowSorter sorter = (TableRowSorter)table.getRowSorter();
sorter.setRowFilter(showOnlyVisuals? visualsFilter : null);
}
}
});
return onlyVisualsCheckBox;
}
项目:beautyeye
文件:DefaultsDisplay.java
protected void initFilters(JTable table) {
TableRowSorter sorter = new TableRowSorter(table.getModel());
table.setRowSorter(sorter);
if (visualsFilter == null) {
visualsFilter = new RowFilter<UIDefaultsTableModel,Integer>() {
public boolean include(Entry<? extends UIDefaultsTableModel, ? extends Integer> entry) {
UIDefaultsTableModel model = entry.getModel();
Object defaultsValue = model.getValueAt(entry.getIdentifier().intValue(),
UIDefaultsTableModel.VALUE_COLUMN);
return defaultsValue instanceof Color ||
defaultsValue instanceof Font ||
defaultsValue instanceof Icon;
}
};
}
if (onlyVisualsCheckBox.isSelected()) {
sorter.setRowFilter(visualsFilter);
}
}
项目:swingx
文件:JTableIssues.java
/**
* Core issue #6539455: table not properly repainted on update (from model).
*
* Happens if the update is not triggered by an edit in the table itself. If
* so, all is well (repaint called for all of the table). If not, repaint is
* limited to the cell that has been updated (not even the whole row is
* painted) - correct would be to repaint all rows between the old and new
* row view index, inclusively.
*/
public void interactiveSortOnUpdateNotEditing() {
final JTable table = new JTable(new AncientSwingTeam());
table.setAutoCreateRowSorter(true);
((TableRowSorter<?>) table.getRowSorter()).setSortsOnUpdates(true);
table.getRowSorter().toggleSortOrder(0);
JXFrame frame = showWithScrollingInFrame(table,
"updates and repaint");
Action edit = new AbstractAction("update first visible") {
@Override
public void actionPerformed(ActionEvent e) {
table.setValueAt("XXX" + table.getValueAt(0, 0), 0, 0);
}
};
addAction(frame, edit);
}
项目:swingx
文件:JTableIssues.java
/**
* Core issue #6539455: table not properly repainted on update (from model).
*
* Happens if the update is not triggered by an edit in the table itself. If
* so, all is well (repaint called for all of the table). If not, repaint is
* limited to the cell that has been updated (not even the whole row is
* painted) - correct would be to repaint all rows between the old and new
* row view index, inclusively.
*/
public void interactiveSortOnUpdateNotEditingHack() {
final JTable table = new JTableRepaintOnUpdate();
table.setModel(new AncientSwingTeam());
table.setAutoCreateRowSorter(true);
((TableRowSorter<?>) table.getRowSorter()).setSortsOnUpdates(true);
table.getRowSorter().toggleSortOrder(0);
JXFrame frame = showWithScrollingInFrame(table,
"updates and repaint (hacked)");
Action edit = new AbstractAction("update first visible") {
@Override
public void actionPerformed(ActionEvent e) {
table.setValueAt("XXX" + table.getValueAt(0, 0), 0, 0);
}
};
addAction(frame, edit);
}
项目:swingx
文件:DefaultsDisplay.java
protected JComponent createFilterControl() {
onlyVisualsCheckBox = new JCheckBox("Show Only Visual Defaults");
onlyVisualsCheckBox.setSelected(true);
onlyVisualsCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
boolean showOnlyVisuals = onlyVisualsCheckBox.isSelected();
for(int i = 0; i < tabPane.getTabCount() ; i++) {
JScrollPane scrollpane = (JScrollPane)tabPane.getComponentAt(i);
JTable table = (JTable)scrollpane.getViewport().getView();
TableRowSorter sorter = (TableRowSorter)table.getRowSorter();
sorter.setRowFilter(showOnlyVisuals? visualsFilter : null);
}
}
});
return onlyVisualsCheckBox;
}
项目:swingx
文件:DefaultsDisplay.java
protected void initFilters(JTable table) {
TableRowSorter sorter = new TableRowSorter(table.getModel());
table.setRowSorter(sorter);
if (visualsFilter == null) {
visualsFilter = new RowFilter<UIDefaultsTableModel,Integer>() {
public boolean include(Entry<? extends UIDefaultsTableModel, ? extends Integer> entry) {
UIDefaultsTableModel model = entry.getModel();
Object defaultsValue = model.getValueAt(entry.getIdentifier().intValue(),
UIDefaultsTableModel.VALUE_COLUMN);
return defaultsValue instanceof Color ||
defaultsValue instanceof Font ||
defaultsValue instanceof Icon;
}
};
}
if (onlyVisualsCheckBox.isSelected()) {
sorter.setRowFilter(visualsFilter);
}
}
项目:kgsview
文件:OpponentPanel.java
public OpponentPanel(SimpleTableModel model) {
JPanel innerPanel;
table = new JTable();
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.addMouseListener(new MouseEventHandler());
sorter = new TableRowSorter<SimpleTableModel>(model);
table.setModel(model);
table.setRowSorter(sorter);
setColumnWidth(table, model.getColumnWidth());
model.addTableModelListener(this);
innerPanel = new JPanel(new GridLayout(1, 1));
innerPanel.setBorder(BorderFactory.createTitledBorder(Resource.get("opponent")));
innerPanel.add(new JScrollPane(table));
innerPanel.setPreferredSize(new Dimension(320, 140));
this.setLayout(new BorderLayout());
this.add(innerPanel, BorderLayout.CENTER);
}
项目:kgsview
文件:GamePanel.java
public GamePanel(GameTableModel model){
this.model = model;
table = new JTable();
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.addMouseListener(new MouseEventHandler());
sorter = new TableRowSorter<GameTableModel>(model);
table.setModel(model);
table.setRowSorter(sorter);
setColumnWidth(table, model.getColumnWidth());
TableColumnModel columnModel = table.getColumnModel();
TableColumn colorColumn = columnModel.getColumn(1);
colorColumn.setCellRenderer(new ColorCellRenderer());
TableColumn resultColumn = columnModel.getColumn(6);
resultColumn.setCellRenderer(new ResultCellRenderer());
model.addTableModelListener(this);
this.setLayout(new BorderLayout());
this.add(new JScrollPane(table), BorderLayout.CENTER);
}