@SuppressWarnings("unchecked") @Override public int loop() { synchronized (lock) { try { if (!ui.isVisible()) handler.stopMod(getName()); World world = minecraft.getWorld(); JTable list = ui.getList(); DefaultTableModel model = (DefaultTableModel) list.getModel(); TableRowSorter<TableModel> sorter = (TableRowSorter<TableModel>) list.getRowSorter(); if (world != null) { Player currentPlayer = minecraft.getPlayer(); int playerX = (int) java.lang.Math.round(currentPlayer.getX()); int playerY = (int) java.lang.Math.round(currentPlayer.getY()); int playerZ = (int) java.lang.Math.round(currentPlayer.getZ()); ArrayList<Block> blocks = new ArrayList<Block>(); for (int x = playerX - radius; x < playerX + radius; x++) for (int y = playerY - radius; y < playerY + radius; y++) for (int z = playerZ - radius; z < playerZ + radius; z++) if (world.getBlockIDAt(x, y, z) == blockID) blocks.add(new Block(x, y, z)); label: for (int row = 0; row < model.getRowCount(); row++) { int x = (Integer) model.getValueAt(row, 1); int y = (Integer) model.getValueAt(row, 2); int z = (Integer) model.getValueAt(row, 3); for (Block block : blocks) { if (x == block.getX() && y == block.getY() && z == block.getZ()) { model.setValueAt(getDistanceTo(x, y, z, currentPlayer), row, 0); continue label; } } model.removeRow(row); } label: for (Block block : blocks) { for (int row = 0; row < model.getRowCount(); row++) { int x = (Integer) model.getValueAt(row, 1); int y = (Integer) model.getValueAt(row, 2); int z = (Integer) model.getValueAt(row, 3); if (x == block.getX() && y == block.getY() && z == block.getZ()) continue label; } model.addRow( new Object[] { getDistanceTo(block.getX(), block.getY(), block.getZ(), minecraft.getPlayer()), block.getX(), block.getY(), block.getZ() }); } sorter.sort(); list.repaint(); } else { for (int i = model.getRowCount() - 1; i >= 0; i--) model.removeRow(i); } } catch (Exception exception) { } } return 500; }
public void update() { if (model != null) { model.fireTableDataChanged(); if (!isFooter) { resizeColumns(); sorter.sort(); } } }
protected void updatePersonnelTable() { personnelSorter.sort(); if (!choiceNoSkill.equals(choiceSkill.getSelectedItem())) { int rows = personnelTable.getRowCount(); matchedPersonnelLabel.setText( String.format(resourceMap.getString("eligible.format"), rows)); // $NON-NLS-1$ } else { matchedPersonnelLabel.setText(""); // $NON-NLS-1$ } }
public void setColumns(List<Column> columns) { model = new DataTableModel(columns); super.setModel(model); if (!isFooter) { sorter = new TableRowSorter<TableModel>(model); setRowSorter(sorter); List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>(); sortKeys.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); sorter.setSortKeys(sortKeys); sorter.sort(); } }
public void repopulateTable() { populateTable(); iProductsTable.scrollRowToVisible(0); TableRowSorter<DefaultTableModel> sorter = new TableRowSorter<>((DefaultTableModel) iProductsTable.getModel()); iProductsTable.setRowSorter(sorter); List<RowSorter.SortKey> sortKeys = new ArrayList<>(); int columnIndexToSort = 0; sortKeys.add(new RowSorter.SortKey(columnIndexToSort, SortOrder.ASCENDING)); sorter.setSortKeys(sortKeys); sorter.sort(); }
// using legacy lib, raw types extend Object @SuppressWarnings("unchecked") TableView() { // model mModel = new DefaultTableModel(0, 1) { // row sorter needs this @Override public Class<?> getColumnClass(int columnIndex) { return TableView.this.getColumnClass(columnIndex); } }; this.setModel(mModel); // sorter mRowSorter = new TableRowSorter<>(mModel); List<RowSorter.SortKey> sortKeys = new ArrayList<>(); sortKeys.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); mRowSorter.setSortKeys(sortKeys); mRowSorter.setSortsOnUpdates(true); mRowSorter.sort(); // filter RowFilter<DefaultTableModel, Integer> rowFilter = new RowFilter<DefaultTableModel, Integer>() { @Override public boolean include(Entry<? extends DefaultTableModel, ? extends Integer> entry) { I i = (I) entry.getValue(0); return i.contains(mSearch); } }; mRowSorter.setRowFilter(rowFilter); this.setRowSorter(mRowSorter); // hide header this.setTableHeader(null); // hide grid this.setShowGrid(false); // use custom renderer this.setDefaultRenderer(TableItem.class, new TableRenderer()); // trigger editing to forward mouse events this.addMouseMotionListener( new MouseMotionListener() { @Override public void mouseDragged(MouseEvent e) {} @Override public void mouseMoved(MouseEvent e) { int row = TableView.this.rowAtPoint(e.getPoint()); if (row >= 0) { TableView.this.editCellAt(row, 0); } } }); // actions triggered by mouse events this.addMouseListener( new MouseAdapter() { @Override public void mouseExited(MouseEvent e) { if (mTip != null) mTip.closeTooltip(); } }); }
void filterItems(String search) { mSearch = search; mRowSorter.sort(); }