javax.swing.table.TableRowSorter类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(14.7k)|赞(0)|评价(0)|浏览(167)

本文整理了Java中javax.swing.table.TableRowSorter类的一些代码示例,展示了TableRowSorter类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TableRowSorter类的具体详情如下:
包路径:javax.swing.table.TableRowSorter
类名称:TableRowSorter

TableRowSorter介绍

暂无

代码示例

代码示例来源:origin: stackoverflow.com

  1. private JTable jTable = new JTable(model);
  2. = new TableRowSorter<>(jTable.getModel());
  3. jTable.setRowSorter(rowSorter);
  4. panel.add(new JLabel("Specify a word to match:"),
  5. BorderLayout.WEST);
  6. panel.add(jtfFilter, BorderLayout.CENTER);
  7. setLayout(new BorderLayout());
  8. add(panel, BorderLayout.SOUTH);
  9. add(new JScrollPane(jTable), BorderLayout.CENTER);
  10. SwingUtilities.invokeLater(new Runnable(){
  11. public void run() {
  12. JFrame frame = new JFrame("Row Filter");
  13. frame.add(new TestTableSortFilter());
  14. frame.pack();
  15. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  16. frame.setLocationRelativeTo(null);
  17. frame.setVisible(true);

代码示例来源:origin: winder/Universal-G-Code-Sender

  1. importButton.addActionListener(event -> importButtonActionPerformed());
  2. settingsTable = new JTable();
  3. settingsTable.setModel(firmwareSettingsTableModel);
  4. TableRowSorter<TableModel> sorter = new TableRowSorter<>(settingsTable.getModel());
  5. sorter.setComparator(COL_INDEX_SETTING, new StringNumberComparator());
  6. sorter.toggleSortOrder(COL_INDEX_SETTING);
  7. settingsTable.setRowSorter(sorter);
  8. JScrollPane settingsTableScrollPane = new JScrollPane();
  9. settingsTableScrollPane.setViewportView(settingsTable);
  10. settingsTable.getTableHeader().setReorderingAllowed(false);
  11. settingsTable.getColumnModel().getColumn(0).setMinWidth(60);
  12. getContentPane().setLayout(layout);
  13. layout.setHorizontalGroup(
  14. layout.createParallelGroup(GroupLayout.Alignment.LEADING)

代码示例来源:origin: ron190/jsql-injection

  1. @Override
  2. public void insertUpdate(DocumentEvent e) {
  3. String text = textFilter.getText();
  4. if (text.trim().length() == 0) {
  5. rowSorter.setRowFilter(null);
  6. } else {
  7. rowSorter.setRowFilter(RowFilter.regexFilter("(?i)" + Pattern.quote(text)));
  8. }
  9. }

代码示例来源:origin: ron190/jsql-injection

  1. this.tableValues.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  2. this.tableValues.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
  3. this.tableValues.setColumnSelectionAllowed(true);
  4. this.tableValues.setRowHeight(20);
  5. this.tableValues.setRowSelectionAllowed(true);
  6. columnAdjuster.adjustColumns();
  7. final TableRowSorter<TableModel> rowSorter = new TableRowSorter<>(this.tableValues.getModel());
  8. this.tableValues.setRowSorter(rowSorter);
  9. scroller.scrollPane.setBorder(BorderFactory.createEmptyBorder(0, 0, -1, -1));
  10. scroller.scrollPane.setViewportBorder(BorderFactory.createEmptyBorder(0, 0, -1, -1));
  11. scroller.scrollPane.getVerticalScrollBar().addAdjustmentListener(singleItemScroll);
  12. scroller.scrollPane.getHorizontalScrollBar().addAdjustmentListener(singleItemScroll);
  13. for (int i = 0 ; i < this.tableValues.getColumnCount() ; i++) {
  14. rowSorter.setComparator(i, comparatorNumeric);

代码示例来源:origin: stackoverflow.com

  1. TableRowSorter sorter = new TableRowSorter();
  2. table.setRowSorter(sorter);
  3. sorter.setModel(table.getModel());
  4. sorter.setComparator(myComparator);

代码示例来源:origin: stackoverflow.com

  1. JFrame frame = new JFrame("Sort Table Demo");
  2. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  3. Object rows[][] = { { "J", 23.1 }, { "R", 21.1, }, { "E", 21.2, }, { "B", 27.1, }, { "A", 25.2, },
  4. { "S", 22.9, }, };
  5. JTable table = new JTable(model);
  6. RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
  7. table.setRowSorter(sorter);
  8. JScrollPane pane = new JScrollPane(table);
  9. frame.add(pane, BorderLayout.CENTER);
  10. frame.setSize(300, 150);
  11. frame.setVisible(true);

代码示例来源:origin: stackoverflow.com

  1. private JFrame frame = new JFrame("JTable RowHeader");
  2. private JScrollPane scrollPane;
  3. private JTable table;
  4. table = new JTable(4, 4);
  5. for (int i = 0; i < table.getRowCount(); i++) {
  6. table.setValueAt(i, i, 0);
  7. sorter = new TableRowSorter<TableModel>(table.getModel());
  8. table.setRowSorter(sorter);
  9. model = new DefaultTableModel() {
  10. scrollPane = new JScrollPane(table);
  11. scrollPane.setRowHeaderView(headerTable);
  12. table.setPreferredScrollableViewportSize(table.getPreferredSize());
  13. frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  14. frame.add(scrollPane);
  15. frame.add(new JButton(new AbstractAction("Toggle filter") {
  16. frame.pack();
  17. frame.setLocation(150, 150);
  18. frame.setVisible(true);

代码示例来源:origin: MegaMek/mekhq

  1. private void initComponents() {
  2. java.awt.GridBagConstraints gridBagConstraints;
  3. setTitle("Personnel Market"); // NOI18N
  4. setName("Form"); // NOI18N
  5. getContentPane().setLayout(new BorderLayout());
  6. scrollTablePersonnel.setMinimumSize(new java.awt.Dimension(500, 400));
  7. tablePersonnel.setModel(personnelModel);
  8. tablePersonnel.setName("tablePersonnel"); // NOI18N
  9. sorter = new TableRowSorter<PersonnelTableModel>(personnelModel);
  10. sorter.setComparator(PersonnelTableModel.COL_SKILL, new LevelSorter());
  11. sorter.setComparator(PersonnelTableModel.COL_SALARY, new FormattedNumberSorter());
  12. sortKeys.add(new RowSorter.SortKey(PersonnelTableModel.COL_SKILL, SortOrder.DESCENDING));
  13. sorter.setSortKeys(sortKeys);
  14. splitMain.setOneTouchExpandable(true);
  15. splitMain.setResizeWeight(0.0);
  16. getContentPane().add(splitMain, BorderLayout.CENTER);
  17. panel.add(new javax.swing.JPanel());
  18. getContentPane().add(panel, BorderLayout.PAGE_END);

代码示例来源:origin: MegaMek/mekhq

  1. unitTable = new JTable(unitModel);
  2. unitTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
  3. XTableColumnModel unitColumnModel = new XTableColumnModel();
  4. unitTable.setColumnModel(unitColumnModel);
  5. unitTable.createDefaultColumnsFromModel();
  6. unitSorter = new TableRowSorter<UnitTableModel>(unitModel);
  7. unitSorter.setComparator(UnitTableModel.COL_STATUS, new UnitStatusSorter());
  8. unitSorter.setComparator(UnitTableModel.COL_TYPE, new UnitTypeSorter());
  9. unitSorter.setComparator(UnitTableModel.COL_WCLASS, new WeightClassSorter());
  10. unitSorter.setComparator(UnitTableModel.COL_COST, new FormattedNumberSorter());
  11. sortKeys.add(new RowSorter.SortKey(UnitTableModel.COL_TYPE, SortOrder.DESCENDING));
  12. sortKeys.add(new RowSorter.SortKey(UnitTableModel.COL_WCLASS, SortOrder.DESCENDING));
  13. unitSorter.setSortKeys(sortKeys);
  14. TableRowSorter<ProcurementTableModel> acquireUnitsSorter = new TableRowSorter<ProcurementTableModel>(
  15. acquireUnitsModel);
  16. acquireUnitsSorter.setComparator(ProcurementTableModel.COL_COST, new FormattedNumberSorter());
  17. acquireUnitsSorter.setComparator(ProcurementTableModel.COL_TARGET, new TargetSorter());
  18. JScrollPane scrollAcquireUnitTable = new JScrollPane(acquireUnitsTable);
  19. JPanel panAcquireUnit = new JPanel(new GridLayout(0, 1));
  20. panAcquireUnit.setBorder(BorderFactory.createTitledBorder("Procurement List"));
  21. panAcquireUnit.setPreferredSize(new Dimension(200, 200));

代码示例来源:origin: stackoverflow.com

  1. setLayout( new BorderLayout() );
  2. add(comboBox, BorderLayout.NORTH);
  3. table = new JTable(5, 1);
  4. for (int i = 0; i < table.getRowCount(); i++)
  5. table.setValueAt(String.valueOf(i+1), i, 0);
  6. table.setAutoCreateRowSorter(true);
  7. JScrollPane scrollPane = new JScrollPane(table);
  8. add(scrollPane, BorderLayout.CENTER);
  9. TableRowSorter oldSorter = (TableRowSorter)table.getRowSorter();
  10. TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(table.getModel());
  11. table.setRowSorter( sorter );
  12. sorter.setRowFilter( filter );
  13. JFrame frame = new JFrame("FilterSSCCE");
  14. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  15. frame.add(new FilterSSCCE());
  16. frame.setLocationByPlatform( true );
  17. frame.pack();
  18. frame.setVisible( true );

代码示例来源:origin: stackoverflow.com

  1. JTable table = new JTable(model);
  2. TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(
  3. model);
  4. sorter.setRowFilter(filter);
  5. table.setRowSorter(sorter);
  6. JScrollPane scrollPane = new JScrollPane(table);
  7. JFrame frame = new JFrame("Filtering Table");
  8. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  9. public void actionPerformed(ActionEvent e) {
  10. for(int row = 0;row < table.getRowCount();row++) {
  11. System.out.println(table.getModel().getValueAt(table.convertRowIndexToModel(row), 0));
  12. frame.getContentPane().add(btnNewButton, BorderLayout.SOUTH);
  13. frame.getContentPane().add(scrollPane);
  14. frame.setSize(300, 200);
  15. frame.setVisible(true);

代码示例来源:origin: bit4woo/domain_hunter

  1. public static void main(String[] args) {
  2. Object[][] data = { { "A", 5 }, { "B", 2 }, { "C", 4 }, { "D", 8 } };
  3. String columnNames[] = { "Item", "Value" };
  4. TableModel model = new DefaultTableModel(data, columnNames) {
  5. public Class<?> getColumnClass(int column) {
  6. return getValueAt(0, column).getClass();
  7. }
  8. };
  9. JTable table = new JTable(model);
  10. RowFilter<Object, Object> filter = new RowFilter<Object, Object>() {
  11. public boolean include(Entry entry) {
  12. Integer population = (Integer) entry.getValue(1);
  13. return population.intValue() > 3;
  14. }
  15. };
  16. TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
  17. sorter.setRowFilter(filter);
  18. table.setRowSorter(sorter);
  19. JScrollPane scrollPane = new JScrollPane(table);
  20. JFrame frame = new JFrame("Filtering Table");
  21. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22. frame.add(scrollPane);
  23. frame.setSize(300, 200);
  24. frame.setVisible(true);
  25. }
  26. }

代码示例来源:origin: stackoverflow.com

  1. JTable table = new JTable(model);
  2. table.setPreferredScrollableViewportSize(table.getPreferredSize());
  3. JScrollPane scrollPane = new JScrollPane(table);
  4. TableRowSorter<DefaultTableModel> sorter = new TableRowSorter<DefaultTableModel>(model);
  5. table.setRowSorter(sorter);
  6. JFrame.setDefaultLookAndFeelDecorated(true);
  7. JFrame frame = new JFrame("Table Cell Listener");
  8. frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  9. frame.add( scrollPane );
  10. frame.setSize(400, 160);
  11. frame.setLocationRelativeTo( null );
  12. frame.setVisible(true);

代码示例来源:origin: MegaMek/mekhq

  1. partsTable = new JTable(partsTableModel);
  2. partsTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
  3. partsTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
  4. partsTable.setColumnModel(new XTableColumnModel());
  5. partsTable.createDefaultColumnsFromModel();
  6. TableRowSorter<PartsTableModel> partsSorter = new TableRowSorter<PartsTableModel>(partsTableModel);
  7. partsSorter.setComparator(PartsTableModel.COL_DETAIL, new PartsDetailSorter());
  8. partsTable.setRowSorter(partsSorter);
  9. partsTable.setShowGrid(false);
  10. scrollPartsTable = new JScrollPane(partsTable);
  11. scrollPartsTable.setMinimumSize(new java.awt.Dimension(350, 200));
  12. scrollPartsTable.setPreferredSize(new java.awt.Dimension(350, 200));

代码示例来源:origin: stackoverflow.com

  1. setBounds(50, 50, 800, 600);
  2. setDefaultCloseOperation(EXIT_ON_CLOSE);
  3. sorter = new TableRowSorter<TableModel>(tableModel);
  4. sorter.setSortsOnUpdates(true);
  5. sorter.setSortKeys(Arrays.asList(new RowSorter.SortKey(1,SortOrder.DESCENDING)));
  6. JTable table = new JTable(tableModel);
  7. table.setRowSorter(sorter);
  8. table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
  9. @Override
  10. public void valueChanged(ListSelectionEvent e) {
  11. getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
  12. SwingUtilities.invokeLater(new Runnable() {
  13. public void run() {
  14. (new TableTest5()).setVisible(true);

代码示例来源:origin: MegaMek/megamek

  1. allConstraints.addAll(networkConstraints(networkMask));
  2. getContentPane().setLayout(new BorderLayout());
  3. tblUnits = new JTable(model);
  4. tableSorter = new TableRowSorter<>(model);
  5. tableSorter.setComparator(UnitTableModel.COL_MOVEMENT,
  6. (m1, m2) -> Integer.valueOf(m1.toString().replaceAll("\\D.*", "")).compareTo(
  7. Integer.valueOf(m2.toString().replaceAll("\\D.*", ""))));
  8. List<RowSorter.SortKey> sortKeys = new ArrayList<>();
  9. sortKeys.add(new RowSorter.SortKey(UnitTableModel.COL_NAME, SortOrder.ASCENDING));
  10. tableSorter.setSortKeys(sortKeys);
  11. tblUnits.setRowSorter(tableSorter);
  12. gbc.weightx = 1.0;
  13. gbc.weighty = 1.0;
  14. panAvailable.add(new JScrollPane(tblUnits), gbc);
  15. getContentPane().add(panAvailable, BorderLayout.CENTER);
  16. } else {
  17. JTabbedPane panTabs = new JTabbedPane();
  18. getContentPane().setPreferredSize(panAvailable.getPreferredSize());

代码示例来源:origin: com.github.danielpacak.osgi.swingconsole/osgi.swingconsole

  1. public ServicesTable() {
  2. tableModel = new ServicesTableModel();
  3. tableRowSorter = new TableRowSorter<ServicesTableModel>(tableModel);
  4. tableRowFilter = new TableRowFilter(tableRowSorter);
  5. statusBar = new StatusBar();
  6. table = new JTable(tableModel);
  7. table.setName(TABLE_SERVICES_ID);
  8. table.setFillsViewportHeight(true);
  9. table.setRowSorter(tableRowSorter);
  10. table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  11. table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
  12. public void valueChanged(ListSelectionEvent event) {
  13. if (!event.getValueIsAdjusting()) {
  14. fireServiceSelectionEvent(getSelectedService());
  15. }
  16. }
  17. });
  18. setLayout(new BorderLayout());
  19. add(tableRowFilter, NORTH);
  20. add(new JScrollPane(table), CENTER);
  21. add(statusBar, SOUTH);
  22. }

代码示例来源:origin: senbox-org/snap-desktop

  1. public Discrete1BandTabularForm(ColorManipulationForm parentForm) {
  2. this.parentForm = parentForm;
  3. tableModel = new ImageInfoTableModel();
  4. moreOptionsForm = new MoreOptionsForm(this, false);
  5. final JTable table = new JTable(tableModel);
  6. table.setRowSorter(new TableRowSorter<>(tableModel));
  7. table.setDefaultRenderer(Color.class, new ColorTableCellRenderer());
  8. table.setDefaultEditor(Color.class, new ColorTableCellEditor());
  9. table.getTableHeader().setReorderingAllowed(false);
  10. table.getColumnModel().getColumn(1).setPreferredWidth(140);
  11. table.getColumnModel().getColumn(3).setCellRenderer(new PercentageRenderer());
  12. table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  13. final JScrollPane tableScrollPane = new JScrollPane(table);
  14. tableScrollPane.getViewport().setPreferredSize(table.getPreferredSize());
  15. contentPanel = tableScrollPane;
  16. }

代码示例来源:origin: senbox-org/snap-desktop

  1. public ProductPlacemarkView(VectorDataNode vectorDataNode) {
  2. this.vectorDataNode = vectorDataNode;
  3. this.vectorDataNode.getProduct().addProductNodeListener(new PNL());
  4. tableModel = new PlacemarkTableModel();
  5. JTable placemarkTable = new JTable();
  6. placemarkTable.setRowSorter(new TableRowSorter<>(tableModel));
  7. placemarkTable.addMouseListener(new PopupMenuHandler(this));
  8. placemarkTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  9. placemarkTable.setModel(tableModel);
  10. final TableCellRenderer renderer = placemarkTable.getTableHeader().getDefaultRenderer();
  11. final int margin = placemarkTable.getTableHeader().getColumnModel().getColumnMargin();
  12. Enumeration<TableColumn> columns = placemarkTable.getColumnModel().getColumns();
  13. while (columns.hasMoreElements()) {
  14. TableColumn tableColumn = columns.nextElement();
  15. final int width = getColumnMinWith(tableColumn, renderer, margin);
  16. tableColumn.setMinWidth(width);
  17. }
  18. final JScrollPane scrollPane = new JScrollPane(placemarkTable);
  19. setLayout(new BorderLayout());
  20. add(scrollPane, BorderLayout.CENTER);
  21. }

代码示例来源:origin: stackoverflow.com

  1. };
  2. Object[] columns = {"Track #", "Title", "Length"};
  3. JTable table = new JTable(data, columns);
  4. JScrollPane scroll = new JScrollPane(table);
  5. DefaultTableModel model = new DefaultTableModel(data,columns);
  6. TableRowSorter trs = new TableRowSorter(model);
  7. table.setRowSorter(trs);
  8. scroll = new JScrollPane(table);
  9. table.setAutoCreateRowSorter(false);
  10. JOptionPane.showMessageDialog(null, scroll);

相关文章