Tag: jtable

禁用JTable上的列标题排序

添加分拣机后,是否可以在JTable上禁用手动排序? 所以我有一个JTable,它附加了以下分类器(基本上在初始化表时按列3排序): JTable jTable = new JTable(); RowSorter sorter = new TableRowSorter(jTable.getModel()); List sortKeys = new ArrayList(); sortKeys.add(new RowSorter.SortKey(3, SortOrder.DESCENDING)); sorter.setSortKeys(sortKeys); jTable.setRowSorter(sorter); 这工作正常,但用户仍然可以单击表中的列标题,并按我要禁用的任何列进行排序。 这可能吗?

单击按钮更新JTable

我正在使用带有自定义表模型的JTable 。 我已使用该post中提供的建议更新了我的代码并遇到了新问题。 我对我的代码所做的更改是将一个ArrayList注入到我的JTable以避免线程出现问题。 执行此操作后,按下按钮更新我的表的代码已停止工作。 用于初始化JTable的代码如下: TableModel model = new PlayerTableModel(FileHandler.getCompletedPlayers()); JTable table = new JTable(model); 我用来更新JTable的代码如下: JButton btnRefreshAllPlayers = new JButton(“Refresh”); btnRefreshAllPlayers.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { PlayerTableModel model = (PlayerTableModel) table.getModel(); model.fireTableDataChanged(); } }); 我也试过使用repaint()但这也不起作用。 到目前为止,让JTable更新的唯一方法是关闭并重新打开程序。 FileHandler有我用于JTable的ArrayList ,当用户添加更多玩家时,它会增加。 为什么fireTableDataChanged()没有检测到任何变化?

如何选择JTable中最后插入的行?

我有一个带有两列的JTable和一个使用一个与哈希映射一起工作的类的表模型。 此映射的元素是表行。 每次添加新元素时,我都需要选择元素,而不管任何排序。 现在,我尝试使用以下方法: int lastRow = table.convertRowIndexToView(tableModel.getRowCount() – 1); table.setRowSelectionInterval(lastRow, lastRow); 问题是,这只适用于我以排序的方式添加数据(例如“A”,“B”,“C”而不是那时,因为“D”,例如,一旦添加就放在A之前) 。 有人能告诉我如何解决这个问题吗?

找到JTable单元并绘制它

我有这些数据: 行号 列号 细胞价值 我的问题是: 如何使用这些数据找到单元格? 如何在鼠标按下事件上更改JTable单元格的背景,并在鼠标释放事件中更改回正常背景? 我可以在没有用户交互的情况下突出显示JTable,意味着点击其他一些JTable单元我想通过使用给定的信息突出显示另一个JTable单元,是否可能?

添加按钮到jtable

我在jtable中搜索了添加按钮的教程,并找到了一个类文件, http: //tips4java.wordpress.com/2009/07/12/table-button-column/在哪里为按钮设置标签? [code] private void createTable(){ model = new DefaultTableModel(); editorTable.setModel(model); model.addColumn(“COL1”); model.addColumn(“COL2”); model.addColumn(“ADD”); model.addColumn(“DELETE”); model.addRow(new Object[]{“DATA1”, “DATA2”}); Action delete = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { editorTable = (JTable) e.getSource(); int modelRow = Integer.valueOf(e.getActionCommand()); ((DefaultTableModel) editorTable.getModel()).removeRow(modelRow); } }; ButtonColumn bc = new ButtonColumn(editorTable, delete, 3); bc.setMnemonic(KeyEvent.VK_D); } [/code]

在JTable中禁用单列拖动

如何在JTable中拖动只禁用一个列? 我想允许拖动其他列,但只允许第一列(索引为0)。 谢谢。

在java中保留对话框的数据

if(e.getActionCommand().equals(“save to file”)) { System.out.println(“save is pressed”); StringBuffer fileContent = new StringBuffer(); TableModel tModel = m_table.getModel(); for (int i = 1; i < tModel.getRowCount(); i++) { for(int j=0;j<tModel.getColumnCount();j++) { Object cellValue = tModel.getValueAt(i, j); // … continue to read each cell in a row fileContent.append(cellValue); // … continue to append each cell value fileContent.append(" "); […]

java代码的解释?

这段代码意味着什么: table = new JTable(){ public boolean isCellEditable(int arg0, int arg1) { return true; } };

将JScrollPane组件添加到JTable列

我正在尝试将滚动function添加到JTable中的某个列。 我已经实现了一个自定义的TableCellRenderer组件,我可以看到表中的滚动窗格很好,但我无法滚动它。 我也尝试过实现TableCellEditor,但没有任何运气。 public Component getTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) { return scrollPane; } 有没有人有任何想法如何使包含scrollPane的单元格可滚动?

如何在cellchange上执行JTable选择所有文本

我已经看到了这样做的一些例子,但我仍然无法理解,也无法实现它。 我想要做的是细胞更换(焦点),下一个选定的单元格将选择所有文本,准备用户完全更改它.. 关于如何做的任何想法? //更新//不知怎的,我设法出来了下面的课但是 实现这一点 tblLayers.setDefaultEditor(String.class,new Classes.CellEditor()); 没有产生任何结果,“尚未支持。” 不被抛出.. 我该如何解决这个问题? import java.awt.Component; import java.util.EventObject; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.SwingUtilities; import javax.swing.event.CellEditorListener; import javax.swing.table.TableCellEditor; public class CellEditor extends JTextField implements TableCellEditor { public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { // final JTextField ec = (JTextField) editorComponent; // // ec.setText((String) […]