首页 > 其他 > 详细

第十三周课程总结

时间:2019-11-23 22:58:29      阅读:111      评论:0      收藏:0      [点我收藏+]

源代码:

package javaswingexercise;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
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;

public class TableModelEvent_Test extends JFrame {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private JTextField textField;

private DefaultTableModel tableModel;

private JTable table;

private JLabel label;

public static void main(String args[]) {
    try {
        TableModelEvent_Test frame = new TableModelEvent_Test();
        frame.setVisible(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public TableModelEvent_Test() {
    super();
    setTitle("25-9");
    setBounds(100, 100, 500, 375);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    final JPanel panel = new JPanel();
    getContentPane().add(panel, BorderLayout.NORTH);

    final JLabel label_1 = new JLabel();
    label_1.setText("数量:");
    panel.add(label_1);

    textField = new JTextField();
    textField.setColumns(10);
    textField.setEditable(false);
    textField.setText((int) (Math.random() * 1000) + "");
    panel.add(textField);

    final JButton button = new JButton();
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            Object[] rowValues = { table.getRowCount() + 1,
                    Integer.valueOf(textField.getText()) };
            tableModel.addRow(rowValues);
            textField.setText((int) (Math.random() * 1000) + "");
        }
    });
    button.setText("插入");
    panel.add(button);

    final JScrollPane scrollPane = new JScrollPane();
    getContentPane().add(scrollPane, BorderLayout.CENTER);

    String[] columnNames = { "编号", "数量" };

    tableModel = new DefaultTableModel(null, columnNames);
    tableModel.addTableModelListener(new TableModelListener() {
        public void tableChanged(TableModelEvent e) {
            int sum = 0;
            for (int i = 0; i < table.getRowCount(); i++) {
                sum += (Integer) tableModel.getValueAt(i, 1);
            }
            label.setText("数量总计:" + sum);
        }
    });

    table = new JTable(tableModel);
    scrollPane.setViewportView(table);

    label = new JLabel();
    label.setText("数量总计:0");
    getContentPane().add(label, BorderLayout.SOUTH);
    //
}

}

运行截图:

技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

总结:

第十三周课程总结

原文:https://www.cnblogs.com/xudo/p/11920261.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!