import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class windowTriangle extends JFrame implements ActionListener{
Triangle triangle;
JTextArea showarea;
JTextField textA,textB,textC;
JButton controlButton;
windowTriangle(){
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
triangle=new Triangle();
textA=new JTextField(5);
textB=new JTextField(5);
textC=new JTextField(5);
controlButton=new JButton("计算面积");
showarea =new JTextArea();
JPanel pNorth=new JPanel();
pNorth.add(new JLabel("边A:"));
pNorth.add(textA);
pNorth.add(new JLabel("边B:"));
pNorth.add(textB);
pNorth.add(new JLabel("边C:"));
pNorth.add(textC);
pNorth.add(controlButton);
controlButton.addActionListener(this);
add(pNorth,BorderLayout.NORTH);
add(new JScrollPane(showarea),BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e){
try{
double a=Double.parseDouble(textA.getText().trim());
double b=Double.parseDouble(textB.getText().trim());
double c=Double.parseDouble(textC.getText().trim());
triangle.setA(a);
triangle.setB(b);
triangle.setC(c);
String area=triangle.getArea();
showarea.append("三角形"+a+","+b+",+c+");
showarea.append(area+"\n");
}
catch(Exception ex){
showarea.append("\n"+ex+"\n");
}
}
double sidea,sideb,sidec,area;
boolean isTriange;
public String getArea(){
if(isTriange){
double p=(sidea+sideb+sidec)/2.0;
area=Math.sqrt(p*(p-sidea)*(p-sidea)*(p-sidea));
return String.valueOf(area);
}
else{
return "无法计算面积";
}
}
public void setA(double a){
sidea=a;
if(sidea+sideb>sidea&&sideb+sidec>sidea&&sidea+sidec>sidec)
isTriange=true;
else
isTriange=false;
}
public void setB(double a){
sidea=a;
if(sidea+sideb>sidea&&sideb+sidec>sidea&&sidea+sidec>sidec)
isTriange=true;
else
isTriange=false;
}
public void setC(double a){
sidea=a;
if(sidea+sideb>sidea&&sideb+sidec>sidea&&sidea+sidec>sidec)
isTriange=true;
else
isTriange=false;
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
windowTriangle win=new windowTriangle();
win.setTitle("使用MVC结构");
win.setBounds(100,100,420,260);
}
}
}
GUI
最新推荐文章于 2023-02-26 22:17:51 发布