标签: tablemodel

JTable如何在插入删除或更新数据后刷新表模型.

这是我的jTable

private JTable getJTable() {
    String[] colName = { "Name", "Email", "Contact No. 1", "Contact No. 2",
            "Group", "" };
    if (jTable == null) {
        jTable = new JTable() {
            public boolean isCellEditable(int nRow, int nCol) {
                return false;
            }
        };
    }
    DefaultTableModel contactTableModel = (DefaultTableModel) jTable
            .getModel();
    contactTableModel.setColumnIdentifiers(colName);
    jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    return jTable;
}
Run Code Online (Sandbox Code Playgroud)

我将调用此方法从数据库中检索数据并将其放入表模型中

public void setUpTableData() {
    DefaultTableModel tableModel = (DefaultTableModel) jTable.getModel();
    ArrayList<Contact> list = new ArrayList<Contact>();
    if (!con.equals(""))
        list = sql.getContactListsByGroup(con);
    else
        list = sql.getContactLists();
    for (int i …
Run Code Online (Sandbox Code Playgroud)

java swing refresh jtable tablemodel

85
推荐指数
3
解决办法
32万
查看次数

保持对TableModel更改的JTable选择

JTable当我们做一个fireTableDataChanged()fireTableRowsUpdated()来自时,我们看到选择被清除TableModel.

这是预期的,还是我们做错了什么?我没有看到JTable关于清除/保留模型更新选择的(或其他相关类)的任何属性.

如果这是默认行为,是否有一种防止这种情况的好方法?也许某种方式在更新之前"锁定"选择并在之后解锁?

开发人员一直在尝试在更新之前保存选择并重新应用它.这有点慢.

这是Windows XP上的Java 1.4.2,如果这很重要的话.我们仅限于基于我们使用的某些供应商代码的版本.

java swing jtable tablemodel

15
推荐指数
1
解决办法
1万
查看次数

如何在swing中实现动态GUI

首先,抱歉发布一些可能有点过于具体的内容,但我对Swing不是很有经验,似乎无法找到符合我需求的好例子.

所以我试图找出实现动态GUI的最佳方法,以便在Swing中选择过滤条件:

GUI的样机实现

底层模型是一个类,其中包含可以否定的标准列表(即应用NOT前缀),以及指示这些标准是否应与AND或OR组合的属性.

GUI将允许用户添加,更改或删除标准,并选择组合运算符(和/或).第一个标准自然没有组合选择器,第三个和后续标准将简单地使用与第二个标准相同的组合运算符.

右侧的X按钮将用于删除标准.按下"添加"按钮后,将在底部添加一个新的组件行.随着更改,这些将反映在基础模型中.

当然,我可以通过简单地将组件添加到JPanel然后相应地更新模型来实现"原始",但我更喜欢更简洁的解决方案,例如TableModel提供的解决方案.

所以我想知道一个带有自定义TableModel和TableCellRenderer/Editor的表是否是最好的方法,或者是否有更好的方法来实现这样的东西.如果table确实是最好的方法,我会很感激指出如何使用TableCellRenderers或-Editors来实现这一目标.

提前致谢.

java swing tablecelleditor tablecellrenderer tablemodel

12
推荐指数
1
解决办法
1万
查看次数

在Java中从TableModel中删除列

在Java中,我使用DefaultTableModel动态地向JTable添加列.

//create DefaultTableModel with columns and no rows
DefaultTableModel tableModel = new DefaultTableModel(columnNames, 0);
JTable table = new JTable(tableModel);
Run Code Online (Sandbox Code Playgroud)

columnNames变量是一个包含列名的字符串数组.因此,在程序启动并运行后,用户可以选择添加其他列.我是这样做的

tableModel.addColumn("New column name");
Run Code Online (Sandbox Code Playgroud)

根据需要动态地将列添加到表中.用户还可以删除添加的列.为此,我使用以下代码:

          TableColumn tcol = table.getColumnModel().getColumn(0);
          table.getColumnModel().removeColumn(tcol);
Run Code Online (Sandbox Code Playgroud)

应该删除指定索引处的列,我也尝试过:

table.removeColumn(sheet.getColumn(assessmentName));
Run Code Online (Sandbox Code Playgroud)

它们都可以(视觉上)工作,但这就是问题所在.删除添加的列后,如果添加了另一列并且表刷新,则先前删除的列再次出现.因此,虽然它在视觉上删除了列,但最后两个代码片段实际上都没有从模型中删除它.我在这里假设,因为列已添加到需要从中移除的模型中?是否需要调用特定方法或需要实现的一些逻辑来删除列?

java swing tablemodel

9
推荐指数
1
解决办法
1万
查看次数

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

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

还有其他办法吗?

java swing jtable listener tablemodel

9
推荐指数
2
解决办法
3万
查看次数

在jTable中移动一行

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

java swing jtable tablemodel

8
推荐指数
2
解决办法
1万
查看次数

为什么Java DefaultTableModel使用Vector?

我知道我们必须使用AWT线程进行所有表模型更新操作.在单个AWT线程下,任何表模型都是线程安全的.为什么DefaultTableModel选择线程安全的Vector作为其数据结构,这比其他数据结构如ArrayList慢?

java swing jtable tablemodel

8
推荐指数
2
解决办法
3518
查看次数

Java JTable获取所选行的数据

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

在此输入图像描述

java swing jtable tablemodel

8
推荐指数
3
解决办法
9万
查看次数

创建TableModel并动态填充jTable

我想将读取lucene索引的结果存储到jTable中,以便我可以通过不同的列对其进行排序.从索引我正在阅读具有不同频率度量的术语.

表列是这些:[string term] [int absFrequency] [int docFrequency] [double invFrequency]

所以我在AbstractTableModel中我可以定义列名,但我不知道如何使用以下方法得到Object [] []数据:

public static void FrequencyMap(Directory indexDir) throws Exception
{        
        List<ArrayList>redoviLista = new ArrayList<ArrayList>();


        //final Map<String,TermRow> map = new TreeMap<String,TermRow>(); 
        List<String>termList = new ArrayList<String>();

        IndexReader iReader = IndexReader.open(indexDir);
        FilterIndexReader fReader = new FilterIndexReader(iReader);

        int numOfDocs = fReader.numDocs();
        TermEnum terms = fReader.terms(); 

        while (terms.next()){
            Term term = terms.term(); 
            String termText = term.text();
            termList.add(termText);

//Calculating the frequencies   
            int df = iReader.docFreq(term);
            double idf = 0.0F;
            idf = Math.log10((double) numOfDocs / df);
            double …
Run Code Online (Sandbox Code Playgroud)

java swing jtable tablemodel abstracttablemodel

7
推荐指数
1
解决办法
3万
查看次数

Java:可以替换现有JTable中的TableModel吗?

是否可以替换现有JTable中的整个TableModel,还是必须重新创建JTable?

java swing jtable tablemodel

7
推荐指数
2
解决办法
9035
查看次数