My assignment is to write a program that prompts the user to enter the center and a point on the circle, which is (x,y)(x2,y2). The program should then output the circle's radius, circumference, and area. I did my code but I can't seem to figure out the mathematical code, can someone please help me?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CircleGUI extends JFrame {
//variables
double clx = 0.0, cly = 0.0, circumrx = 0.0, circumry = 0.0; //top-left and bottom-right coordinates
ButtonHandler buttonHandler;
//GUI components
JLabel lClx, lCly, lCircumrx, lCircumry, lRadius, lArea, lCircumference;
JTextField tClx, tCly, tCircumrx, tCircumry, tRadius, tArea, tCircumference;
JButton bReset, bCompute;
Container c;
JPanel pNorth, pWest, pCenter, pSouth;
//methods
//constructor
public CircleGUI() {
//create GUI
lClx = new JLabel("Center X");
lCly = new JLabel("Center Y");
lCircumrx = new JLabel("Circumference X");
lCircumry = new JLabel("Circumference Y");
lRadius = new JLabel("Radius");
lArea = new JLabel("Area");
lCircumference = new JLabel("Circumference");
tClx = new JTextField();
tCly = new JTextField();
tCircumrx = new JTextField();
tCircumry = new JTextField();
tRadius = new JTextField();
tArea = new JTextField();
tCircumference= new JTextField();
bReset = new JButton("Reset");
bCompute = new JButton("Compute");
pNorth = new JPanel();
pWest = new JPanel();
pCenter = new JPanel();
pSouth = new JPanel();
c = getContentPane();
//add components
c.setLayout(new BorderLayout());
pNorth.setLayout(new GridLayout(2,4));
pWest.setLayout(new GridLayout(4,2));
pCenter.setLayout(new GridLayout(4,2));
pSouth.setLayout(new GridLayout(1,2));
c.add(pNorth, BorderLayout.NORTH);
c.add(pWest, BorderLayout.WEST);
c.add(pCenter, BorderLayout.CENTER);
c.add(pSouth, BorderLayout.SOUTH);
pNorth.add(lClx);
pNorth.add(tClx);
pNorth.add(lCly);
pNorth.add(tCly);
pNorth.add(lCircumrx);
pNorth.add(tCircumrx);
pNorth.add(lCircumry);
pNorth.add(tCircumry);
pWest.add(lRadius);
pWest.add(lArea);
pWest.add(lCircumference);
pCenter.add(tRadius);
pCenter.add(tArea);
pCenter.add(tCircumference);
pSouth.add(bReset);
pSouth.add(bCompute);
//register with buttons
buttonHandler = new ButtonHandler();
bReset.addActionListener(buttonHandler);
bCompute.addActionListener(buttonHandler);
//render the window
setSize(400, 200);
setLocation(100, 100);
setResizable(false);
setTitle("Circle GUI");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
//button handler class
private class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent ae) {
if (ae.getSource().equals(bCompute)) {
try {
clx = Double.parseDouble(tClx.getText());
cly = Double.parseDouble(tCly.getText());
circumrx = Double.parseDouble(tCircumrx.getText());
circumry = Double.parseDouble(tCircumry.getText());
Circle obj = new Circle(clx, cly, circumrx, circumry);
tRadius.setText(obj.getLength()+"");
tArea.setText(obj.getArea()+"");
tCircumference.setText(obj.getCircumference()+"");
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "Fix your input");
return;
}
}
else {
tClx.setText("");
tCly.setText("");
tCircumrx.setText("");
tCircumry.setText("");
tRadius.setText("");
tArea.setText("");
tCircumference.setText("");
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CircleGUI newApp = new CircleGUI();
}
}
Java find radius, area and circumference of a circle
import java.awt.*;
import java.text.*;
import javax.swing.*;
import java.awt.event.*;
public class CircleGUI extends JFrame {
double clx = 0.0, cly = 0.0, circumrx = 0.0, circumry = 0.0;
ButtonHandler buttonHandler;
JLabel lClx, lCly, lCircumrx, lCircumry, lRadius, lArea, lCircumference;
JTextField tClx, tCly, tCircumrx, tCircumry, tRadius, tArea, tCircumference;
JButton bReset, bCompute;
Container c;
JPanel pNorth, pWest, pCenter, pSouth;
public CircleGUI(){
lClx = new JLabel("Center X");
lCly = new JLabel("Center Y");
lCircumrx = new JLabel("Circumference X");
lCircumry = new JLabel("Circumference Y");
lRadius = new JLabel("Radius");
lArea = new JLabel("Area");
lCircumference = new JLabel("Circumference");
tClx = new JTextField();
tCly = new JTextField();
tCircumrx = new JTextField();
tCircumry = new JTextField();
tRadius = new JTextField();
tArea = new JTextField();
tCircumference= new JTextField();
bReset = new JButton("Reset");
bCompute = new JButton("Compute");
pNorth = new JPanel();
pWest = new JPanel();
pCenter = new JPanel();
pSouth = new JPanel();
c = getContentPane();
c.setLayout(new BorderLayout());
pNorth.setLayout(new GridLayout(2,4));
pWest.setLayout(new GridLayout(4,2));
pCenter.setLayout(new GridLayout(4,2));
pSouth.setLayout(new GridLayout(1,2));
c.add(pNorth, BorderLayout.NORTH);
c.add(pWest, BorderLayout.WEST);
c.add(pCenter, BorderLayout.CENTER);
c.add(pSouth, BorderLayout.SOUTH);
pNorth.add(lClx);
pNorth.add(tClx);
pNorth.add(lCly);
pNorth.add(tCly);
pNorth.add(lCircumrx);
pNorth.add(tCircumrx);
pNorth.add(lCircumry);
pNorth.add(tCircumry);
pWest.add(lRadius);
pWest.add(lArea);
pWest.add(lCircumference);
pCenter.add(tRadius);
pCenter.add(tArea);
pCenter.add(tCircumference);
pSouth.add(bReset);
pSouth.add(bCompute);
buttonHandler = new ButtonHandler();
bReset.addActionListener(buttonHandler);
bCompute.addActionListener(buttonHandler);
setSize(400, 200);
setLocation(100, 100);
setResizable(false);
setTitle("Circle GUI");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
continue..
private class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent ae) {
if (ae.getSource().equals(bCompute)) {
try {
DecimalFormat df=new DecimalFormat("##.##");
clx = Double.parseDouble(tClx.getText());
cly = Double.parseDouble(tCly.getText());
circumrx = Double.parseDouble(tCircumrx.getText());
circumry = Double.parseDouble(tCircumry.getText());
double p1=circumrx-clx;
double p2=circumry-cly;
double pp1=p1*p1;
double pp2=p2*p2;
double s=pp1+pp2;
double radius=Math.sqrt(s);
double area=3.14*radius*radius;
double circumference=2*3.14*radius;
tRadius.setText(df.format(radius));
tArea.setText(df.format(area));
tCircumference.setText(df.format(circumference));
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "Fix your input");
return;
}
}
else {
tClx.setText("");
tCly.setText("");
tCircumrx.setText("");
tCircumry.setText("");
tRadius.setText("");
tArea.setText("");
tCircumference.setText("");
}
}
}
public static void main(String[] args) {
CircleGUI newApp = new CircleGUI();
}
}