📄
字号:
}
}
14-例子6
import java.applet.*;
import java.awt.*;import java.awt.event.*;
public class Example14_6 extends Applet implements ActionListener
{ Label 货号,名称,数量,计量单位,单价单位,单价金额,合计金额,日期,小计;
TextField text[]=new TextField[22];
Choice choice[]=new Choice[8];
Button b1,b2;
int x=0,y=0,w,h;
public void init()
{setLayout(new BorderLayout());
ScrollPane scroll_p=new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
Panel p2=new Panel();p2.setLayout(null);
p2.setSize(550,180);
货号=new Label("货号:",Label.CENTER);
名称=new Label("名称:",Label.CENTER);
数量=new Label("数量",Label.CENTER);
单价单位=new Label("单价单位:",Label.CENTER);
计量单位=new Label("计量单位:",Label.CENTER);
单价金额=new Label("单价金额:",Label.CENTER);
合计金额=new Label("合计金额:",Label.CENTER);
日期=new Label("日期:",Label.CENTER);
小计=new Label("小计:",Label.CENTER);
for(int i=0;i<=21;i++)
{text[i]=new TextField("0");
}
for(int i=0;i<=7;i++)
{choice[i]=new Choice();
if(i<=3)
{choice[i].add("个");choice[i].add("台");
choice[i].add("辆"); choice[i].add("箱");
}
else
{choice[i].add("万元"); choice[i].add("千元");
choice[i].add("百元"); choice[i].add("元");
}
}
w=p2.getSize().width;h=p2.getSize().height;//获取面板的宽和高。
x=w/9;y=h/6;
p2.add(货号);p2.add(名称);p2.add(数量);p2.add(计量单位);p2.add(小计);
p2.add(单价单位);p2.add(单价金额);p2.add(合计金额);p2.add(日期);
for(int i=0;i<=21;i++)
{p2.add(text[i]); }
for(int i=0;i<=7;i++)
{p2.add(choice[i]); }
货号.setBounds(0,0,x,y);//货号及下面的文本框:
text[0].setBounds(0,y,x,y);text[1].setBounds(0,2*y,x,y);
text[2].setBounds(0,3*y,x,y);text[3].setBounds(0,4*y,x,y);
名称.setBounds(x,0,x+x/2,y);//名称及下面的文本框:
text[4].setBounds(x,y,2*x,y);text[5].setBounds(x,2*y,2*x,y);
text[6].setBounds(x,3*y,2*x,y);text[7].setBounds(x,4*y,2*x,y);
数量.setBounds(3*x,0,x,y);//数量及下面的文本框:
text[8].setBounds(3*x,y,x,y);text[9].setBounds(3*x,2*y,x,y);
text[10].setBounds(3*x,3*y,x,y);text[11].setBounds(3*x,4*y,x,y);
计量单位.setBounds(4*x,0,x,y);//计量单位及下面的选择框:
choice[0].setBounds(4*x,y,x,y);choice[1].setBounds(4*x,2*y,x,y);
choice[2].setBounds(4*x,3*y,x,y);choice[3].setBounds(4*x,4*y,x,y);
单价单位.setBounds(5*x,0,x,y);//单价单位及下面的选择框:
choice[4].setBounds(5*x,y,x,y);choice[5].setBounds(5*x,2*y,x,y);
choice[6].setBounds(5*x,3*y,x,y);choice[7].setBounds(5*x,4*y,x,y);
单价金额.setBounds(6*x,0,x,y);//单价金额及下面的文本框:
text[12].setBounds(6*x,y,x,y);text[13].setBounds(6*x,2*y,x,y);
text[14].setBounds(6*x,3*y,x,y);text[15].setBounds(6*x,4*y,x,y);
小计.setBounds(7*x,0,x,y);//小计及下面的文本框:
text[18].setBounds(7*x,y,2*x,y);text[19].setBounds(7*x,2*y,2*x,y);
text[20].setBounds(7*x,3*y,2*x,y);text[21].setBounds(7*x,4*y,2*x,y);
合计金额.setBounds(0,5*y,x,y);//合计金额及左面的文本框:
text[16].setBounds(x,5*y,4*x,y);text[16].setEditable(false);
text[16].setBackground(Color.pink);
日期.setBounds(5*x,5*y,x,y);//日期及左面的文本框:
text[17].setBounds(6*x,5*y,3*x,y);text[17].setEditable(false);
text[17].setBackground(Color.cyan);
Panel p=new Panel();//用来添加按钮的面板
b1=new Button("确定");b2=new Button("取消");
p.add(b1);p.add(b2);
b1.addActionListener(this);b2.addActionListener(this);
add(p,"South");add(new Label("销 售 货 物 单",Label.CENTER),"North");
scroll_p.add(p2);//滚动窗体添加面板p2。
add(scroll_p,"Center");//滚动窗体添加到中心。
}
public void actionPerformed(ActionEvent e)//处理按钮事件。
{double number=0,sum=0;
if(e.getSource()==b1)
for(int i=8;i<=11;i++)
{ if(text[i].getText()!=null)
{double number1=Double.valueOf(text[i].getText()).doubleValue();
double number2=Double.valueOf(text[i+4].getText()).doubleValue();
number=number1*number2;
}
else
{number=0.0;}
text[i+10].setText(number+choice[i-4].getSelectedItem());
if(choice[i-4].getSelectedItem().equals("万元"))
{sum=sum+number*10000;}
else if(choice[i-4].getSelectedItem().equals("千元"))
{sum=sum+number*1000;}
else if(choice[i-4].getSelectedItem().equals("百元"))
{sum=sum+number*100;}
else if(choice[i-4].getSelectedItem().equals("元"))
{sum=sum+number;}
text[16].setText("人民币:"+sum+"元" ) ;
text[17].setText(new java.util.Date().toString());
}
else if(e.getSource()==b2)
{for(int i=0;i<=21;i++)
text[i].setText("0");
}
}
}
14-例子7
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Example14_7 extends Applet implements ActionListener
{ Label 标题,提示,最大值,最小值,平均值,方差;
TextField text[]=new TextField[4];//用来显示结果。
TextArea input_number;//用来输入数据。
Button b1,b2;
int x=0,y=0,w,h;
public void init()
{
Panel p=new Panel();p.setLayout(null);
p.setSize(450,180); p.setBackground(Color.white);
标题=new Label("欢迎使用数据分析小程序:",Label.CENTER);
提示=new Label("输入的数据用逗号、空格或回车分隔",Label.CENTER);
最大值=new Label("最大值:",Label.CENTER);
最小值=new Label("最小值:",Label.CENTER);
平均值=new Label("平均值:",Label.CENTER);
方差=new Label("方 差:",Label.CENTER);
for(int i=0;i<=3;i++)
{text[i]=new TextField("0"); text[i].setEditable(false);
}
input_number=new TextArea("0");
Panel p1=new Panel();p1.setBackground(Color.green);
b1=new Button("确定");b2=new Button("取消");
b1.addActionListener(this);b2.addActionListener(this);
p1.add(b1);p1.add(b2);
w=p.getSize().width;h=p.getSize().height;//获取面板的宽和高。
x=w/4;y=h/7;
p.add(标题);p.add(提示);p.add(平均值);p.add(方差);p.add(最大值);
p.add(最小值);p.add(p1);
p.add(input_number);
for(int i=0;i<=3;i++)
{ p.add(text[i]); }
标题.setBounds(0,0,4*x,y);//设置标题标签的位置和大小。
提示.setBounds(0,y,4*x,y);//设置提示标签的位置和大小。
input_number.setBounds(0,2*y,2*x,4*y);//文本区的位置和大小。
平均值.setBounds(2*x,2*y,x,y);//平均数标签及左面文本框的大小和位置。
text[0].setBounds(3*x,2*y,x,y);
方差.setBounds(2*x,3*y,x,y);//方差标签及左面文本框的大小和位置。
text[1].setBounds(3*x,3*y,x,y);
最大值.setBounds(2*x,4*y,x,y);//最大值标签及左面文本框的大小和位置。
text[2].setBounds(3*x,4*y,x,y);
最小值.setBounds(2*x,5*y,x,y);//最大值标签及左面文本框的大小和位置。
text[3].setBounds(3*x,5*y,x,y);
p1.setBounds(0,6*y,4*x,y);// 含有按钮的面板p1大小和位置。
add(p);//将p添加到小程序。
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{String s=input_number.getText();
double sum=0,average,fangcha=0,max,min;
StringTokenizer fenxi=new StringTokenizer(s," ,'\n'");
//空格、逗号和回车做分隔符。
int n=fenxi.countTokens();//得到数据的总个数。
Vector v=new Vector();int i=0;
while(fenxi.hasMoreTokens()) //提取数据。
{String s1=fenxi.nextToken();
sum=sum+Double.valueOf(s1).doubleValue();
v.addElement(s1);
}
average=sum/n;//计算平均值。
max=min=Double.valueOf(v.elementAt(0).toString()).doubleValue();
for(i=0;i<v.size();i++)//计算最大、最小值。
{double temp=Double.valueOf(v.elementAt(i).toString()).doubleValue();
if(temp>=max)
max=temp;
if(temp<=min)
min=temp;
}
for(i=0;i<v.size();i++)
{double temp=Double.valueOf(v.elementAt(i).toString()).doubleValue();
fangcha=fangcha+(temp-average)*(temp-average);
}
fangcha=fangcha/n;//计算方差。
text[0].setText(""+average);text[1].setText(""+fangcha);
text[2].setText(""+max);text[3].setText(""+min);
}
else if(e.getSource()==b2)
{ input_number.setText("0");
for(int i=0;i<=3;i++)
{text[i].setText("0"); }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -