Java JTable中的类型出错
我有一个有两列的JTable。第一个只包含一周中各天的名称,第二个包含一个Java JTable中的类型出错,java,swing,types,jtable,Java,Swing,Types,Jtable,我有一个有两列的JTable。第一个只包含一周中各天的名称,第二个包含一个double值 有三个按钮: 使用此方法自动生成测试的double值: private void autoGenerate(java.awt.event.ActionEvent evt) { for (int a=0; a<Config.n; a++){ tabla.setValueAt(a - a*0.5, a, 1);} } 保存数据的按钮执行以下操作: priva
double
值
有三个按钮:
- 使用此方法自动生成测试的
值:double
保存数据的按钮执行以下操作:private void autoGenerate(java.awt.event.ActionEvent evt) { for (int a=0; a<Config.n; a++){ tabla.setValueAt(a - a*0.5, a, 1);} }
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt,Patient p) { try { for (int k = 0; k < Config.n; k++) { DBManager.save(p, k+1,(double)this.table.getValueAt(k, 1)); } } catch (SQLException e) { System.out.println(e.getMessage()); } }
但是,当我在手动键入值后尝试将数据保存到BD时,会发生错误: 在不对列类或private void jButton5ActionPerformed(java.awt.event.ActionEvent evt,患者p){ 试一试{ 对于(int k=0;k
进行任何其他修改的情况下,通过CellEditor
UI编辑值将导致JTable
对象存储在模型中。因此,当检索值并尝试转换为双精度时,字符串
。考虑通过ClassCastException
TabLimoDele/Cult>显式定义列类-这不仅导致存储在模型中的<代码>双< /代码>对象,而且还会影响CeleDistor(避免在输入非数值数据时出现任何错误)。p>
但是,当我在手动键入值后尝试将数据保存到BD时,会发生错误: 在不对列类或DefaultTableModel=新的DefaultTableModel(){ @凌驾 公共类getColumnClass(int-col){ 如果(列==1){ 返回Double.class; } 返回字符串.class; } @凌驾 public int getColumnCount(){ 返回2; } }; JTable table=新的JTable(模型);
进行任何其他修改的情况下,通过CellEditor
UI编辑值将导致JTable
对象存储在模型中。因此,当检索值并尝试转换为双精度时,字符串
。考虑通过ClassCastException
TabLimoDele/Cult>显式定义列类-这不仅导致存储在模型中的<代码>双< /代码>对象,而且还会影响CeleDistor(避免在输入非数值数据时出现任何错误)。p>
谢谢,我不知道:)谢谢,我不知道:)DefaultTableModel=新的DefaultTableModel(){ @凌驾 公共类getColumnClass(int-col){ 如果(列==1){ 返回Double.class; } 返回字符串.class; } @凌驾 public int getColumnCount(){ 返回2; } }; JTable table=新的JTable(模型);
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt,Patient p) { try { for (int k = 0; k < Config.n; k++) { DBManager.save(p, k+1,(double)this.table.getValueAt(k, 1)); } } catch (SQLException e) { System.out.println(e.getMessage()); } }
DefaultTableModel model = new DefaultTableModel(){ @Override public Class<?> getColumnClass(int col){ if ( col == 1 ){ return Double.class; } return String.class; } @Override public int getColumnCount(){ return 2; } }; JTable table = new JTable(model);