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(); } }