swing中数据打印在表格中

import java.awt.*;   
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel; //引入创建表格的表格模式类 

public  class TableTest extends JFrame {
   
    DefaultTableModel  model; //声明表格模式对象
    JTable  table; //声明表格对象
    String[]  columnNames={"姓名","学号","成绩","等级"}; //表格列标题
    int   row=3; //表格行数的初值
    String[][]   tableContents={{"张三","111111","92","A"},
                            {"李四","222222","82","B"},
                            {"刘六","333333","58","D"}};
    JButton  insertRow, //表格中插入新的一行的按钮
            averageScore; //求表格第3列平均成绩的按钮
   
    public TableTest(String  str){
        super(str);
        Container contentPane =this.getContentPane(); 
        //北边---按钮,点击表格增加1行  
        insertRow=new JButton("增加行");
        contentPane.add(insertRow,BorderLayout.NORTH);
        insertRow.addActionListener(new ActionListener(){
                 public void actionPerformed(ActionEvent e){
                    row++; //表格行数加1
                    model.setRowCount(row); //设置表格行数
                    table.doLayout(); //更新表格
                    String  contents=null;
                    for(int i=0;i<table.getColumnCount();i++){//循环新行每一列
                      contents=JOptionPane.showInputDialog("请输入:"+table.getColumnName(i) );
                      table.setValueAt(contents,row-1,i); //设置新行每一列的内容
                    }
                 }
            });
        //中间---表格
        //创建表格模型:指明列标题和行数
        model=new  DefaultTableModel(columnNames,row);
        table=new JTable(model); //创建表格
        for(int i=0;i<table.getRowCount();i++){//循环行
            for(int j=0;j<table.getColumnCount();j++){//循环列
                table.setValueAt(tableContents[i][j],i,j); //表格中每个单元格赋值
            }
        }
        table.setEnabled(false);//设置表格不可修改
        JScrollPane tablePane=new JScrollPane(table); //增加滚动条 
        contentPane.add(tablePane, BorderLayout.CENTER); //添加       
       
        //南边---按钮,求平均分 
        averageScore=new JButton("求平均分");
        contentPane.add(averageScore,BorderLayout.SOUTH);
        averageScore.addActionListener(new ActionListener(){
                 public  void  actionPerformed(ActionEvent e){
                    int  sum=0;
                    for(int i=0;i<table.getRowCount();i++){//求成绩的和
                        sum+=Integer.parseInt((String)table.getValueAt(i,2));
                    }
                    JOptionPane.showMessageDialog(null,
                       "平均成绩"+sum/table.getRowCount());//显示平均值
                 }
            });
        setSize(300,200);
        setVisible(true);
    }
   
    public static void main(String args[]) {
        TableTest  mytree=new TableTest("表格使用");
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值