62,568
社区成员




import javax.swing.*;
import java.awt.event.*;
import java.awt.Container;
import java.awt.GridLayout;
import java.text.DecimalFormat;
public class Test extends JFrame {
private JLabel zuobiaoL1, zuobiaoL2, distanceL;
private JLabel radiusL, circumferenceL, areaL;
private JTextField zuobiaoTF1, zuobiaoTF2;
private JTextField distanceTF, radiusTF, circumferenceTF, areaTF;
private JButton distanceB, radiusB, circumferenceB, areaB, calculateB, exitB;
/* private DistanceButtonHandler disHandler;
private RadiusButtonHandler radHandler;
private CircumferenceButtonHandler cirHandler;
private AreaButtonHandler areHandler;
*/
private CalculateButtonHandler calHandler;
private ExitButtonHandler exiHandler;
public static final double PAI = 3.1416;
private static final int WIDTH = 400;
private static final int HIGHT = 1200;
public static void main(String[] args) {
new Test();
}
public Test() {
zuobiaoL1 = new JLabel("坐标1", SwingConstants.RIGHT);
zuobiaoL2 = new JLabel("做标2", SwingConstants.RIGHT);
distanceL = new JLabel("distance", SwingConstants.RIGHT);
radiusL = new JLabel("radius", SwingConstants.RIGHT);
circumferenceL = new JLabel("circumference", SwingConstants.RIGHT);
areaL = new JLabel("area", SwingConstants.RIGHT);
zuobiaoTF1 = new JTextField(10);
zuobiaoTF2 = new JTextField(10);
distanceTF = new JTextField(10);
radiusTF = new JTextField(10);
circumferenceTF = new JTextField(10);
areaTF = new JTextField(10);
/* distance=new JButton("distance");
disHandler=new DistanceButtonHandler();
distance.addActionListener(disHandler);
radius=new JButton("radius");
radHandler=new RadiusButtonHandler();
radius.addActionListener(radHandler);
circumference=new JButton("circumference");
cirHandler=new CircumferenceButtonHandler();
circumference.addActionListener(cirHandler);
area=new JButton("area");
areHandler=new AreButtonHandler();
area.addActionListener(areHandler);
*/
calculateB = new JButton("calculate");
calHandler = new CalculateButtonHandler();
calculateB.addActionListener(calHandler);
exitB = new JButton("exit");
exiHandler = new ExitButtonHandler();
exitB.addActionListener(exiHandler);
setTitle("Yuan");
Container pane = getContentPane();
pane.setLayout(new GridLayout(7, 2));
pane.add(zuobiaoL1);
pane.add(zuobiaoTF1);
pane.add(zuobiaoL2);
pane.add(zuobiaoTF2);
pane.add(distanceL);
pane.add(distanceTF);
pane.add(radiusL);
pane.add(radiusTF);
pane.add(circumferenceL);
pane.add(circumferenceTF);
pane.add(areaL);
pane.add(areaTF);
pane.add(calculateB);
pane.add(exitB);
setSize(WIDTH, HIGHT);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public class CalculateButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
Piont zuobiao1, zuobiao2;
zuobiao1 = new Piont(zuobiaoTF1.getText());
zuobiao2 = new Piont(zuobiaoTF2.getText());
double d = Piont.distance(zuobiao1, zuobiao2);
double r = Piont.radius(d);
distanceTF.setText(String.valueOf(d));
radiusTF.setText(String.valueOf(Piont.radius(d)));
areaTF.setText("" + Piont.area(r));
circumferenceTF.setText("" + Piont.circumference(r));
}
}
public class ExitButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
public static class Piont {
double x, y;
Piont(String str) {
//假设坐标输入格式为:x,y
String[] strs = str.split(",");
if(strs.length == 2){
this.x = Double.parseDouble(strs[0]);
this.y = Double.parseDouble(strs[1]);
}
}
Piont(double X, double Y) {
x = X;
y = Y;
}
public static double distance(Piont a, Piont b) {
double x1 = a.x;
double y1 = a.y;
double x2 = b.x;
double y2 = b.y;
double aa = Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2);
double d = Math.sqrt(aa);
return d;
}
public static double radius(double d) {
return (d / 2);
}
public static double circumference(double r) {
return (2 * PAI * r);
}
public static double area(double r) {
return (PAI * r * r);
}
}
}