⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tabledemo.java

📁 这是一个java程序
💻 JAVA
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
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);
      getContentPane().add(pSouth,BorderLayout.SOUTH);
      getContentPane().add(pNorth,BorderLayout.NORTH);
      getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
      setSize(370,250);
      setVisible(true);
      getContentPane().validate();
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    } 
    public void actionPerformed(ActionEvent e)
   { 
     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();
        getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
        getContentPane().add(pSouth,BorderLayout.SOUTH);
        getContentPane().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];//比数组a多一行的数组。
         for(int i=0;i<rowsNumber;i++)            //将数组a的数据拷贝到数组b中。
          {
             for(int j=0;j<4;j++) 
                 b[i][j]=a[i][j];
          }
         b[rowsNumber][0]="一共有"+rowsNumber+"件商品";
         b[rowsNumber][3]="总销售额:"+totalSum;
         a=b;                                   // 重新初始化a。  
         table=new JTable(a,name);
         getContentPane().removeAll();
         getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
         getContentPane().add(pSouth,BorderLayout.SOUTH);
         getContentPane().add(pNorth,BorderLayout.NORTH);
         validate();
      }
    }
}
public class TableDemo
{
    public static void main(String args[ ])
    {  
       Win win=new Win();  
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -