Tag: tablemodel

如何在没有帧重载的数据库操作后刷新JTable?

我想在执行db操作之后刷新JTable ,例如插入/更新/删除而没有帧重新加载。 有这样的程序化解决方案吗?

Java JTable获取所选行的数据

是否有任何方法用于获取所选行的数据 ? 我只想简单地点击包含数据的特定行,然后单击一个按钮,该按钮将在控制台中打印数据。

Java中JTable的JDBC TableModel?

我想将数据库表显示为JTable。 我之前从未使用过JTable,所以我用Google搜索了JTable和TableModel。 通过谷歌搜索,我能够编写自己的自定义TableModel,显示存储的数据 Object[][] data; 现在,我想将我的数据库表数据显示到JTable中。 我也搜索了一下并且已经了解了这一点,但仍然对在AbstractTableModel的实现类中应该去哪里感到困惑。 以下是自定义TableModel的代码。 public abstract class AbstractPOLDATTableModel extends AbstractTableModel { protected boolean DEBUG = false; private String[] columnNames; private Object[][] data; protected AbstractPOLDATTableModel(String[] columnNames, Object[][] data) { this.columnNames = columnNames; this.data = data; } public int getColumnCount() { return columnNames.length; } public int getRowCount() { return data.length; } @Override public […]

在jTable中移动一行

如何在jTable移动一行,以便row1进入row2的位置, row2进入row1的位置?

保持对TableModel更改的JTable选择

当我们从TableModel执行fireTableDataChanged()或fireTableRowsUpdated()时,我们看到JTable选择被清除。 这是预期的,还是我们做错了什么? 我没有在JTable (或其他相关类)上看到关于清除/保留模型更新选择的任何属性。 如果这是默认行为,是否有一种防止这种情况的好方法? 也许某种方式在更新之前“锁定”选择并在之后解锁? 开发人员一直在尝试在更新之前保存选择并重新应用它。 这有点慢。 这是Windows XP上的Java 1.4.2,如果这很重要的话。 我们仅限于基于我们使用的某些供应商代码的版本。

为Java集合实现AbstractTableModel

我正在尝试为名为“clients”的集合实现AbstractTableModel ,但我仍然收到“add”方法的错误“required variable found value”。 这是我的代码: 我很抱歉造成了混乱。 add方法是为了在表中添加一个新客户端(我指的是一个新行)。 我不想在集合中添加新客户端。 class ModelTabel extends AbstractTableModel{ public int getRowCount() { return clients.size(); } public int getColumnCount() { return 4; } public Object getValueAt(int row, int column) { Client c = clients.get(row-1); switch(column){ case 0: return c.getName(); case 1: return c.getSurname(); case 2: return c.getID(); case 3: return c.getPhone(); […]

如何使一个mySQL的表列不可见

我正在ID列上运行查询,但我不希望它在我的框架/窗格中可见。 我怎样才能做到这一点? 我要制作另一个表,sql / mysql中是否有一个允许隐藏列的函数? 我试着去谷歌,但还没找到任何东西。 这是代码: public void tableChanged(TableModelEvent e) { int row = e.getFirstRow(); int col = e.getColumn(); model = (MyTableModel) e.getSource(); String stulpPav = model.getColumnName(col); Object data = model.getValueAt(row, col); Object studId = model.getValueAt(row, 0); System.out.println(“tableChanded works”); try { new ImportData(stulpPav, data, studId); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } catch (SQLException […]

创建TableModel并动态填充jTable

我想将读取lucene索引的结果存储到jTable中,这样我就可以通过不同的列对它进行排序。 从索引我正在阅读不同频率度量的术语。 表列是这些:[string term] [int absFrequency] [int docFrequency] [double invFrequency] 所以我在AbstractTableModel中我可以定义列名,但我不知道如何使用以下方法得到Object [] []数据: public static void FrequencyMap(Directory indexDir) throws Exception { ListredoviLista = new ArrayList(); //final Map map = new TreeMap(); ListtermList = new ArrayList(); IndexReader iReader = IndexReader.open(indexDir); FilterIndexReader fReader = new FilterIndexReader(iReader); int numOfDocs = fReader.numDocs(); TermEnum terms = fReader.terms(); while (terms.next()){ Term […]

如何在JTable行中设置自定义对象

我应该首先告诉它,这不是关于渲染表格单元格。 这是我使用基于我的数据库中的User对象的2D数组构建的TableModel。 List userList = userManagerService.getAllUsers(); /* String[] col_user = {“Username”, “Name”, “Phone”, …. } */ String[][] data = new String[userList.size()][col_user.length]; int i = 0; for (User user : userList) { String[] userdata = new String[col_user.length]; userdata[0] = user.getUserUsername(); userdata[1] = user.getUserName(); userdata[2] = user.getUserPhone(); userdata[3] = user.getUserNic(); userdata[4] = user.getUserAddress(); userdata[5] = user.getUserEmail(); data[i++] […]

监听JTable单元值更改并相应更新数据库的最佳方法是什么?

我正在使用多个JTables构建和应用程序,我需要检测何时发生单元格值更改,以便我可以在数据库中更新它。 我尝试了TableModelListener并覆盖了tableChanged ,但只有在我编辑tableChanged单元格后单击 (单击另一行) 时才会触发。 还有其他办法吗?