本文整理汇总了Java中javax.swing.table.TableRowSorter.setSortable方法的典型用法代码示例。如果您正苦于以下问题:Java TableRowSorter.setSortable方法的具体用法?Java TableRowSorter.setSortable怎么用?Java TableRowSorter.setSortable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.swing.table.TableRowSorter
的用法示例。
在下文中一共展示了TableRowSorter.setSortable方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: run
import javax.swing.table.TableRowSorter; //导入方法依赖的package包/类
@Override
public void run() {
List<Song> songs = this.getResult();
Exception ex = this.getException();
SongSearch search = this.getSearch();
if (ex == null) {
SongSearchTableModel model = null;
if (songs != null && songs.size() > 0) {
model = new SongSearchTableModel(search, songs);
} else {
model = new SongSearchTableModel();
}
tblSongSearchResults.setModel(model);
// reset the scrollbar position
scrSongSearchResults.getVerticalScrollBar().setValue(0);
setSongSearchTableWidths();
tblSongSearchResults.getColumnModel().getColumn(0).setCellRenderer(new SongSearchCheckTableCellRenderer(tblSongSearchResults.getDefaultRenderer(Boolean.class)));
tblSongSearchResults.getColumnModel().getColumn(1).setCellRenderer(new SongSearchTitleTableCellRenderer());
tblSongSearchResults.getColumnModel().getColumn(2).setCellRenderer(new SongSearchMatchTableCellRenderer(search));
// disable sorting any column other than the title column
// it doesn't make sense to sort the matched text or selection column
TableRowSorter<SongSearchTableModel> sorter = new TableRowSorter<SongSearchTableModel>(model);
sorter.setSortable(0, false);
sorter.setSortable(2, false);
tblSongSearchResults.setRowSorter(sorter);
} else {
String message = MessageFormat.format(Messages.getString("panel.song.data.search.exception.text"), search.getText());
ExceptionDialog.show(
SongsPanel.this,
Messages.getString("panel.song.data.search.exception.title"),
message,
ex);
LOGGER.error(message, ex);
}
}
示例2: createControls
import javax.swing.table.TableRowSorter; //导入方法依赖的package包/类
private void createControls(final List<BaseType> baseTypes) {
setBorder(new EmptyBorder(5, 5, 5, 5));
final GridBagLayout gridBagLayout = new GridBagLayout();
gridBagLayout.columnWidths = new int[] {0, 0, 0};
gridBagLayout.rowHeights = new int[] {0, 0, 0, 0, 0};
gridBagLayout.columnWeights = new double[] {0.0, 1.0, Double.MIN_VALUE};
gridBagLayout.rowWeights = new double[] {0.0, 0.0, 1.0, 1.0, Double.MIN_VALUE};
setLayout(gridBagLayout);
final JLabel lblName = new JLabel("Name:");
GridBagConstraints gbcLblName = new GridBagConstraints();
gbcLblName.insets = new Insets(0, 0, 5, 5);
gbcLblName.anchor = GridBagConstraints.WEST;
gbcLblName.gridx = 0;
gbcLblName.gridy = 0;
add(lblName, gbcLblName);
name = new JTextField();
GridBagConstraints gbcName = new GridBagConstraints();
gbcName.insets = new Insets(0, 0, 5, 0);
gbcName.fill = GridBagConstraints.HORIZONTAL;
gbcName.gridx = 1;
gbcName.gridy = 0;
add(name, gbcName);
name.setColumns(10);
final JLabel lblMembers = new JLabel("Members:");
final GridBagConstraints gbcLblMembers = new GridBagConstraints();
gbcLblMembers.anchor = GridBagConstraints.WEST;
gbcLblMembers.insets = new Insets(0, 0, 5, 5);
gbcLblMembers.gridx = 0;
gbcLblMembers.gridy = 2;
add(lblMembers, gbcLblMembers);
final MemberTableModel model = new MemberTableModel();
model.addTableModelListener(new MemberTableModelListener());
members = new MemberTable(model, baseTypes);
final TableRowSorter<MemberTableModel> sorter = new TableRowSorter<MemberTableModel>(model);
// Triggers immediate re-sort when offset is updated.
sorter.setSortsOnUpdates(true);
sorter.setSortable(MemberTableModel.NAME_COLUMN, false);
sorter.setSortable(MemberTableModel.TYPE_COLUMN, false);
// Initial state is ascending sort order.
sorter.toggleSortOrder(MemberTableModel.INDEX_COLUMN);
members.setRowSorter(sorter);
final GridBagConstraints gbcMembers = new GridBagConstraints();
gbcMembers.insets = new Insets(0, 0, 5, 0);
gbcMembers.fill = GridBagConstraints.BOTH;
gbcMembers.gridx = 1;
gbcMembers.gridy = 2;
add(new JScrollPane(members), gbcMembers);
final JLabel lblPreview = new JLabel("Preview:");
final GridBagConstraints gbcLblPreview = new GridBagConstraints();
gbcLblPreview.anchor = GridBagConstraints.WEST;
gbcLblPreview.insets = new Insets(0, 0, 0, 5);
gbcLblPreview.gridx = 0;
gbcLblPreview.gridy = 3;
add(lblPreview, gbcLblPreview);
final JTextArea preview = new JTextArea();
final GridBagConstraints gbcPreview = new GridBagConstraints();
gbcPreview.fill = GridBagConstraints.BOTH;
gbcPreview.gridx = 1;
gbcPreview.gridy = 3;
add(preview, gbcPreview);
}
示例3: sort
import javax.swing.table.TableRowSorter; //导入方法依赖的package包/类
/**
* Toggle-sort a column
* @param columnIndex The index of the column to be sorted
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
private void sort(int columnIndex){
// Get the default, already registered, sorter
TableRowSorter sorter = (TableRowSorter)getTable().getRowSorter();
// Ensure the row is sortable
sorter.setSortable(columnIndex, true);
// Disable the row sorting capability to remove the native functionality
sorter.toggleSortOrder(columnIndex);
// Let all listeners (ui-display-related objects) know that we've sorted, so
// please repaint()
int rowCount = getTable().getRowCount();
getModel().fireTableRowsUpdated(0, rowCount - 1);
// If the column clicked doesn't match the last column that was sorted, there is
// no need to toggle, and we'll just sort descending
if (lastSorted != columnIndex){
descending = true;
lastSorted = columnIndex;
}
// If the direction is descending, sort descending
if (descending){
sorter.setSortKeys( Arrays.asList( new RowSorter.SortKey( columnIndex, SortOrder.DESCENDING ) ) );
}
// Otherwise, sort ascending
else {
sorter.setSortKeys( Arrays.asList( new RowSorter.SortKey( columnIndex, SortOrder.ASCENDING ) ) );
}
// Toggle the sort direction, in case we click on the chosen column again
descending = !descending;
}