?? 第十四章例子.txt
字號:
}
}
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 + -