Java自动计算表格某一数字列的和
2012-07-12 05:29
330 查看
package com.han; import java.awt.BorderLayout; import java.awt.Container; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableModel; /** * 自动计算表格某一数字列的和 * @author HAN * */ public class TabelModelEvent_2 extends JFrame { /** * */ private static final long serialVersionUID = 7045416728019138021L; float sum = 0; public TabelModelEvent_2() { // TODO Auto-generated constructor stub final Container container = getContentPane(); JScrollPane scrollPane = new JScrollPane(); Vector<String> tableNames = new Vector<String>(); tableNames.add("数字列"); Vector<Vector<String>> tableValues = new Vector<Vector<String>>(); for (int i = 0; i < 4; i++) { Vector<String> vector = new Vector<String>(); vector.add(null); tableValues.add(vector); } final DefaultTableModel defaultTabelModel = new DefaultTableModel( tableValues, tableNames); JTable table = new JTable(defaultTabelModel); scrollPane.setViewportView(table); container.add(scrollPane, BorderLayout.CENTER); JPanel panel = new JPanel(); JLabel label = new JLabel("数字列总和:"); final JTextField textField = new JTextField(10); panel.add(label); panel.add(textField); container.add(panel, BorderLayout.SOUTH); defaultTabelModel.addTableModelListener(new TableModelListener() { @Override public void tableChanged(TableModelEvent e) { // TODO Auto-generated method stub if (e.getType() == TableModelEvent.UPDATE) { int row = e.getFirstRow(); int column = e.getColumn(); // keep that every cell value is float or null. try { Float.parseFloat((String) defaultTabelModel.getValueAt( row, column)); } catch (NumberFormatException e1) { JOptionPane.showMessageDialog(container, "Your input object is not a float type"); defaultTabelModel.setValueAt(null, row, column); } catch (NullPointerException e2) { // do nothing } for (int i = 0; i < 4; i++) { Object cellValue = defaultTabelModel.getValueAt(i, 0); if (cellValue != null) { float floatValue = Float .parseFloat((String) cellValue); sum += floatValue; } } } textField.setText(new Float(sum).toString()); sum = 0; } }); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub TabelModelEvent_2 frame = new TabelModelEvent_2(); frame.setTitle("自动计算表格某一数字列的和"); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
相关文章推荐
- Java自动计算表格某一数字列的和
- Java自动计算表格某一数字列的和
- Java自动计算表格某一数字列的和(2)
- Java自动计算表格某一数字列的和(2)
- Java自动计算表格某一数字列的和(2)
- Java模块 -- BigDecimal 高精度数字计算
- 绘制图像、自动的计算校验数字并按其他特定的准则来产生高质量的条码控件.NET Windows Forms Barcode
- Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?
- java使用POI解析Excel表格中由纯数字组成的字符串报错问题&解决数据自动保存为科学计数法问题
- java导出:防止EXCEL或WPS的将文本自动转换为日期或数字格式
- java中超大大数字的计算方法
- 利用 Java 对指定数字进行分解,之后计算各位相加之和
- Java中使用Socket完成简单的远程计算(含粗糙界面和正则表达式判断数字类型)
- Java根据数据库表格自动生成java实体类
- java如何获取从键盘输入多个数字,并计算平均数 (转)
- Java输入一个数字跟次数进行拼接方法(可计算结果),输出2+22+222+2222.........
- 实时输入数字自动转换为货币形式并计算
- 一道java题 计算字符,数字,空格个数
- 整理用Java实现数字转化成字符串左边自动补零方法
- selenium用java找到表格某一行某一列中含有特定文字的某个元素