JAVA实现基于可视化的代码,可以实现商品总计,很方便。

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
public class Win extends JFrame implements ActionListener{
 JTable table;
 Object a[][];
 Object name[]={"商品名称","单价","销售量","销售额"};
 JButton computerRows,computerColums;
 JTextField inputRowsNumber;
 int initRows=1;
 JPanel pSouth,pNorth;
 int count=0,rowsNumber=0;
 Win(){
  computerRows=new JButton("每件商品销售额");
  computerColums=new JButton("总销售额");
  inputRowsNumber=new JTextField(10);
  computerRows.addActionListener(this);
  computerColums.addActionListener(this);
  inputRowsNumber.addActionListener(this);
  pSouth=new JPanel();
  pNorth=new JPanel();
  pNorth.add(new JLabel("输入表格行数 ,回车确定"));
  pNorth.add(inputRowsNumber);
  pSouth.add(computerRows);
  pSouth.add(computerColums);
  add(pSouth,BorderLayout.SOUTH);
  add(pNorth,BorderLayout.NORTH);
  add(new JScrollPane(table),BorderLayout.CENTER);
  setBounds(100,100,370,250);
  setVisible(true);
  validate();
  setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  
 }

 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  if(e.getSource()==inputRowsNumber)
  {
   count=0;
   initRows=Integer.parseInt(inputRowsNumber.getText());
   a=new Object[initRows][4];
   for(int i=0;i<initRows;i++)
   {
    for(int j=0;j<4;j++)
     a[i][j]="0";
   }
   table=new JTable(a,name);
   table.setRowHeight(20);
   getContentPane().removeAll();
   add(new JScrollPane(table),BorderLayout.CENTER);
   add(pSouth,BorderLayout.SOUTH);
   add(pNorth,BorderLayout.NORTH); 
   validate();  
  }
  else if(e.getSource()==computerRows)
  {
   int rows=table.getRowCount();
   for(int i=0;i<rows;i++)
   {
    double sum=1;
    boolean boo=true;
    for(int j=1;j<=2;j++)
    {
     try
     {
      sum=sum*Double.parseDouble(a[i][j].toString());
     }catch(Exception ee)
     {
      boo=false;
      table.repaint();
     }
     if(boo==true)
     {
      a[i][3]=""+sum;
      table.repaint();
     }
    }
   }
  }
  else if(e.getSource()==computerColums)
  {
   if(count==0)
   {
    rowsNumber=table.getRowCount();
    count++;
   }
   else
   {
    rowsNumber=table.getRowCount();
    rowsNumber=rowsNumber-1;
   }
   double totalSum=0;
   for(int j=0;j<rowsNumber;j++)
    totalSum=totalSum+Double.parseDouble(a[j][3].toString());
   Object b[][]=new Object[rowsNumber+1][4];
   for(int i=0;i<rowsNumber;i++)
   {
    for(int j=0;j<4;j++)
    {
     b[i][j]=a[i][j];
    }
   }
   b[rowsNumber][0]="一共有"+rowsNumber+"件商品";
   b[rowsNumber][3]="总销售额"+totalSum;
   a=b;
   table=new JTable(a,name);
   getContentPane().removeAll();
   add(new JScrollPane(table),BorderLayout.CENTER);
   add(pSouth,BorderLayout.SOUTH);
   add(pNorth,BorderLayout.NORTH);
   validate();
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值