java 表格为什么不显示_为什么eclipse 里面显示不了表格 求大神解答谢谢了

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Example10_16 {

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;

JScrollPane   js;

int count=0,rowsNumber=0;

Win(){

computerRows=new JButton("每件商品销售额");

computerColums=new JButton("总销售额");

inputRowsNumber=new JTextField(10);

computerRows.addActionListener(this);

computerColums.addActionListener(this);

pSouth=new JPanel();

pNorth=new JPanel();//默认为FlowLayout布局

pNorth.add(new JLabel("输入表格行数,回车确认"));

pNorth.add(inputRowsNumber);

pSouth.add(computerRows);

pSouth.add(computerColums);

js=new JScrollPane(table);

add(pSouth,BorderLayout.SOUTH);

add(pNorth,BorderLayout.NORTH);

add(js,BorderLayout.CENTER);

setBounds(100,100,370,250);

setVisible(true);

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

for(int j=0;j<4;j++)

a[i][j]="0";

}

table=new JTable(a,name);//name用于定义表格的列名

table.setRowHeight(20);

getContentPane().removeAll();//移除添加的组件因为行数重新定义了,所以先移除,在后面再添加回带有新行数的

js=new JScrollPane(table);

add(js,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

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; //修改数组中的数据

}

}

}

}

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

totalSum=totalSum+Double.parseDouble(a[j][3].toString());

Object b[][]=new Object[rowsNumber+1][4]; //比数组a多一行的数组

for(int i=0;i

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();

}

}

215057fc28a403b088f2be319af00e04.png

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值