インタフェースを実行すると、以下の
、
新しい参照のために実行するために必要な教師
、次のようにコードは次のとおりです。
Textmain.java
public class textmain {
public static void main(String args[]) {
CalculateForm calculatefrom =new CalculateForm("使用MVC结构");
}
}
CalculateForm.java
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class CalculateForm extends Frame implements ActionListener{
TextArea textarea=new TextArea();
Label uppersole,bottom,hight; //定义上底下底,高的Lable
TextField textuppersole,textbottom,texthight;
Button giveAnwser;
CalculateForm(String s) {
super(s);
setLayout(new FlowLayout());
textuppersole=new TextField(10);
textbottom=new TextField(10);
texthight=new TextField(10);
uppersole=new Label("上底:");
bottom=new Label("下底:");
hight=new Label("高:");
giveAnwser=new Button("计算面积");
add(uppersole);
add(textuppersole);
add(bottom);
add(textbottom);
add(hight);
add(texthight);
add(giveAnwser);
add(textarea);
giveAnwser.addActionListener(this); //将当前窗口注册为giveAnwser的ActionEvent事件监视器
setBounds(100,100,540,250);
setVisible(true);
validate();
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
@Override
public void actionPerformed(ActionEvent e) {
Trapezoid trapezoid=new Trapezoid(Double.parseDouble(textuppersole.getText()),Double.parseDouble(textbottom.getText()),Double.parseDouble(texthight.getText()));
if(e.getSource()==giveAnwser) //判断事件源是否是giveAnwser
{
try{
textarea.append(trapezoid.getHight());
textarea.append(trapezoid.getBottom());
textarea.append(trapezoid.getHight());
textarea.append("的梯形面积为:");
textarea.append(Double.toString(trapezoid.getArea()));
textarea.append("\n");
}
catch(NumberFormatException ex){
}
}
}
}
Trapezoid.java
public class Trapezoid {
double uppersole,bottom,hight,Area;
Trapezoid(double uppersole,double bottom,double hight){
this.uppersole=uppersole;
this.bottom=bottom;
this.hight=hight;
}
public String getUppersole() {
return "上底为"+Double.toString(uppersole);
}
public String getBottom() {
return "下底为"+Double.toString(bottom);
}
public String getHight() {
return "上底为"+Double.toString(hight);
}
public double getArea() {
return ((uppersole+bottom)*hight)/2;
}
}