gpt4 book ai didi

Java,在TableModel中编辑单元格后使用字符串而不是 double

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:00 26 4
gpt4 key购买 nike

我将一个 CSV 文件导入到 DefaultTableModel 中,一列的格式设置为双列,目前一切顺利。但是,如果我在 JTable 中编辑此列 (double) 中的一个单元格,此后该单元格将不再是一个 double。现在它是一个字符串。如何更改 TableModel 中已编辑单元格的类型?我知道我可以使用 double value = Double.parseDouble(str); 将字符串解析为 double,但如何确保在编辑单元格后发生这种情况?

我需要一个新的 TableModel 类吗:

class myTableModel extends DefaultTableModel { }

感谢您的帮助。

最佳答案

例如

    @Override
public Class<?> getColumnClass(int c) {
if (c == 1) {
return Short.class;
} else {
return Integer.class;
}
}

import javax.swing.*;
import javax.swing.table.*;

public class RemoveAddRows extends JFrame {

private static final long serialVersionUID = 1L;
private Object[] columnNames = {"Type", "Company", "Shares", "Price"};
private Object[][] data = {
{"Buy", "IBM", new Integer(1000), new Double(80.50)},
{"Sell", "MicroSoft", new Integer(2000), new Double(6.25)},
{"Sell", "Apple", new Integer(3000), new Double(7.35)},
{"Buy", "Nortel", new Integer(4000), new Double(20.00)}
};
private JTable table;
private DefaultTableModel model;
private javax.swing.Timer timer = null;

public RemoveAddRows() {
model = new DefaultTableModel(data, columnNames) {

private static final long serialVersionUID = 1L;

@Override
public Class getColumnClass(int column) {
return getValueAt(0, column).getClass();
}
};
table = new JTable(model);
table.setPreferredScrollableViewportSize(table.getPreferredSize());
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
}



public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {
RemoveAddRows frame = new RemoveAddRows();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}

关于Java,在TableModel中编辑单元格后使用字符串而不是 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com