- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我尝试使用 JTable,但是当我调用 setValueAt 方法时,数据不会在 gui 中更新。我试图在超过 5 个小时的时间内找到答案,但任何东西都对我有帮助。
我尝试更新 UI 和 fireTableDataChanged() 但 id 没有帮助。
我使用 AbstractTableModel,我的构造函数是 JTable(MemoryTableModel)。看我的MemoryTableModel代码:
我做错了什么,或者我忘记了什么?
(对不起我的英语,它不是我的母语)
public class MemoryTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
ArrayList<ArrayList<Object>> memoryCells;
String[] columnNames = {"Offset", "0", "1", "2", "3", "4", "5", "6", "7", "8",
"9", "A", "B", "C", "D", "E", "F"};
public MemoryTableModel(byte[] data, int cells) {
super();
memoryCells = new ArrayList<ArrayList<Object>>();
for (int i=0; i< cells/16; i++) {
ArrayList<Object> a = new ArrayList<Object>();
a.add(i);
for (int j=0; j<16; j++) {
a.add(data[i*16+j]);
}
memoryCells.add(a);
}
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public int getRowCount() {
return memoryCells.size();
}
public String getColumnName(int col){
return columnNames[col];
}
@Override
public Object getValueAt(int line, int column) {
return memoryCells.get(line).get(column);
}
@Override
public void setValueAt(Object cell, int row, int column) {
memoryCells.get(row).set(column, cell);
fireTableDataChanged();
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
if (columnIndex == 0)
return false;
return true ;
}
最佳答案
您的 fireTableDataChanged();
通知程序 setValueAt(Object cell, int row, int column) {
是错误的
您需要使用 fireTableCellUpdated , 更多链接 API
使用DefaultTableModel
、Vector
或util.List
作为AbstractTableModel
的底层数组的更简单解决方法>
编辑
public boolean stopCellEditing() {
很常见的问题,我希望有类似 JTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
/li>关于 java 。 JTable setValueAt 数据不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18693555/
我正在尝试创建一个表,并使用 setValueAt() 将值添加到我的表中。 我的一些代码: int nalt=1+((altmax-altmin)/incr); tabela=new J
我已经搜索了一整天,但仍然找不到解决我的问题的简单答案:当我在另一个单元格中编辑它时,如何使 JTable 单元格更新它的值? 我想以某种方式使用 fireTableCellUpdated 但我真的不
我成功制作了一个 Jtable,它使用 CachedRowSet 从数据库加载。我将表格放在 jframe 中,并在按下按钮时调用 Ui。 当我尝试更改单元格中的值时,它们会自动重置为原始值,我想知道
我正在玩国际象棋游戏,我需要制作一个打印每一步棋的日志表。 LogTable类是这样的: public class LogTable { private DefaultTableModel m
我尝试使用 JTable,但是当我调用 setValueAt 方法时,数据不会在 gui 中更新。我试图在超过 5 个小时的时间内找到答案,但任何东西都对我有帮助。 我尝试更新 UI 和 fireTa
我有一个使用自定义 DefaultTableModel 的 JTable,它在最后一列中有一些 boolean 值(显示为复选框)。 当我添加一个 MouseListener 来检索被点击的值时,似乎
我的要求是在网格中显示 StockQuote 符号(流数据)。为此,我选择了 JTable。 import java.awt.BorderLayout; import java.awt.event.A
我有一个 JTable,其中一列包含不同的对象类型。每种类型都有自己的渲染器和编辑器(getDefaultRenderer(Number.class)、我自己的日期渲染器/编辑器等)。 但是,我的表模
我目前在 JTable 中的复选框设置值时遇到问题。我需要将每个复选框的 boolean 值存储在表的行中。我可以显示默认(假)复选框,但是一旦单击复选框,就会出现异常; java.lang.Arra
我有一个从 AbstractTableModel 创建的 JTable。我已成功初始化屏幕上的表格。 (它只是一个信息表 - 单击被禁用)当我从 JTable 对象调用 setValueAt 时,什么
我使用抽象表模型创建了一个 JTable。该表有一个整数对象数据的二维数组和一个一维列标题。一切正常,除了当我在程序运行时编辑和更改单元格数据时,它会恢复为默认值(使用 getValueAt() 创建
每当单击标题时,我都尝试使用 setValueAt 方法在我的 jtablemodel 中设置一个值。我目前有一个 MouseAdapter 正确显示正在单击的列,但未调用 board.setValu
我有包含行和列的 JTable,当我编辑索引为 4 的列中的任何单元格时,我需要 -> 应该更改同一行中的“VALUE”,但索引为 5 的下一列。我有下一个代码,但它不起作用 table.getMod
我已经完成了 JTable 来进行简单的访问安排。它包含自定义 AbstractTableModel,显示如下所示的三列。 问题是可以初始化表并获得所需的外观 - 但数据更改后表的外观没有变化。每次单
花了一下午的时间寻找解决方案后,我终于创建了一个帐户来提出我的问题,我希望有人可以帮助我。 我正在内部框架中创建 JTable。我有自己的 tableModel 和 cellRenderer (因为我
我编写了一个个人TableModel,它从数据库获取数据。问题是当我修改表中的数据时,我可以看到效果在 table 上,但没有 table 事件成功。好像是这个方法setValueAt 没有发生事件,
我有一个 MyTableModel,其中我将结果集作为参数传递给构造函数。 import javax.swing.table.*; import java.sql.*; class MyTableMo
所以我正在使用 Java 开发 DVD 租赁系统,但遇到了 View 问题。这是我的代码: import javax.swing.*; import javax.swing.table.Abstrac
我已经实现了一个自定义 TableModel,它从数据库中获取数据,然后在编辑单元格时将数据保存到数据库中。 即: AbstractTableModel myModel = new AbstractT
我有一个扩展 AbstractTableModel 的自定义 TableModel。 public class IndicatorPropertyTableModel extends Abstract
我是一名优秀的程序员,十分优秀!