import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Example10_15{
public static void main(String args[ ]){
Win win=new Win();
}
}
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){
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]; //比数组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();
add(new JScrollPane(table),BorderLayout.CENTER);
add(pSouth,BorderLayout.SOUTH);
add(pNorth,BorderLayout.NORTH);
validate();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Java大学实用教程(第2版)[耿祥义等编著][程序源代码] (215个子文件)
6.au 1KB
2.au 1KB
5.au 1016B
4.au 1006B
3.au 993B
7.au 980B
1.au 946B
Example11_4.class 755B
save.gif 266B
open.gif 158B
ex8.html 104B
ex9.html 104B
ex7.html 104B
ex6.html 104B
like.html 69B
ex2.html 65B
ex3.html 65B
ex4.html 65B
ex5.html 65B
chat.html 64B
Boy.html 57B
Example10_15.java 4KB
ClientFrame.java 4KB
Example13_6.java 4KB
Example10_34.java 3KB
Server.java 3KB
Example13_5.java 3KB
Example8_10.java 3KB
ModifyRecord.java 3KB
Receive.java 2KB
ChatClient.java 2KB
Example11_3.java 2KB
Example10_26.java 2KB
Example10_28.java 2KB
Example10_17.java 2KB
Example10_16.java 2KB
Example9_10.java 2KB
B.java 2KB
A.java 2KB
Example10_22.java 2KB
Example10_11.java 2KB
Example12_9.java 2KB
MutiServer.java 2KB
Example12_2.java 2KB
Example12_4.java 2KB
Example10_30.java 2KB
Example10_27.java 2KB
Example11_1.java 2KB
Example11_2.java 2KB
Example7_7.java 2KB
InsertRecord.java 2KB
Example7_14.java 2KB
Example10_31.java 2KB
Example8_4.java 2KB
Example12_7.java 2KB
ShowRecord.java 2KB
Example9_8.java 2KB
Example10_10.java 2KB
Example8_9.java 2KB
Example10_23.java 2KB
Example12_8.java 1KB
Example10_29.java 1KB
Example10_9.java 1KB
Example5_1.java 1KB
Example7_10.java 1KB
Example10_21.java 1KB
Example10_14.java 1KB
Example8_8.java 1KB
Example9_9.java 1KB
Example8_5.java 1KB
BroadCast.java 1KB
Example8_11.java 1KB
Example10_33.java 1KB
Example4_1.java 1KB
Example8_6.java 1KB
Example7_2.java 1KB
Example12_5.java 1KB
Example10_24.java 1KB
Example7_11.java 1KB
Example12_3.java 1KB
Example7_6.java 1KB
Example4_7.java 1KB
Example10_6.java 1KB
Example7_12.java 1KB
Example10_5.java 1KB
Example5_21.java 1KB
Example12_10.java 1KB
Example10_8.java 1KB
Example6_8.java 1KB
Example9_5.java 1KB
Example4_2.java 1KB
Example10_25.java 1KB
Example10_19.java 1KB
Example10_1.java 1KB
SquareEquation.java 1KB
Example13_3.java 1KB
Example10_12.java 1KB
Example5_8.java 1015B
Example12_6.java 1003B
Server.java 997B
共 215 条
- 1
- 2
- 3
资源评论
- lelelelele2015-09-05不错,还可以。但是分数太高
lx1478963
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功