a95641126 / u10016046_taAssign2_normal

0 stars 0 forks source link

GeoCalculate.java #1

Open a95641126 opened 9 years ago

a95641126 commented 9 years ago

import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField;

import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Scanner;

public class GeoCalculate extends JFrame{ String choose; boolean x = true; JButton jbtcalculate = new JButton("計算"); JButton jbtclear = new JButton("清除"); double area,parameter;

static JTextField t1 = new JTextField(4);
static JTextField t2 = new JTextField(4);
static JTextField t3 = new JTextField(10);
static JTextField t4 = new JTextField(10);

public GeoCalculate(){
    Scanner input = new Scanner(System.in);
    System.out.println("請選擇想要算的幾何形狀:");
    System.out.println("1. Circle , 2. Rectangle , 3. Deltoid");
    choose = input.nextLine();
    JPanel p1 = new JPanel();
    JPanel p2 = new JPanel();
    JPanel p3 = new JPanel();
    JPanel p4 = new JPanel();

    setLayout(new GridLayout(4,1));
    p1.setLayout(new FlowLayout());
    p2.setLayout(new FlowLayout());
    p3.setLayout(new FlowLayout());
    p4.setLayout(new FlowLayout());
    add(p1);
    add(p2);
    add(p3);
    add(p4);

    ButtonListener listener = new ButtonListener();

    while(x){
        switch(choose){
        case "1":

            p1.add(new JLabel("Circle:"));
            p2.add(new JLabel("Radius:"));
            p2.add(t1);
            p2.add(jbtcalculate);
            p2.add(jbtclear);
            p3.add(new JLabel("The area is:"));
            p3.add(t3);
            p4.add(new JLabel("The parameter is:"));
            p4.add(t4);

            jbtcalculate.addActionListener(listener);
            jbtclear.addActionListener(listener);

            x = false;
            break;

        case "2":
            p1.add(new JLabel("Rectangle:"));
            p2.add(new JLabel("Length:"));
            p2.add(t1);
            p2.add(new JLabel("Width:"));
            p2.add(t2);
            p2.add(jbtcalculate);
            p2.add(jbtclear);
            p3.add(new JLabel("The area is:"));
            p3.add(t3);
            p4.add(new JLabel("The parameter is:"));
            p4.add(t4);
            add(p1);
            add(p2);
            add(p3);
            add(p4);

            jbtcalculate.addActionListener(listener);
            jbtclear.addActionListener(listener);

            x = false;
            break;

        case "3":   
            p1.add(new JLabel("Deltoid:"));
            p2.add(new JLabel("Edge:"));
            p2.add(t1);
            p2.add(jbtcalculate);
            p2.add(jbtclear);
            p3.add(new JLabel("The area is:"));
            p3.add(t3);
            p4.add(new JLabel("The parameter is:"));
            p4.add(t4);
            add(p1);
            add(p2);
            add(p3);
            add(p4);

            jbtcalculate.addActionListener(listener);
            jbtclear.addActionListener(listener);

            x = false;
            break;

        default:
            System.out.println("輸入錯誤請重新輸入");
            System.out.println("請選擇想要算的幾何形狀:");
            System.out.println("1. Circle , 2. Rectangle , 3. Deltoid");
            choose = input.nextLine();

        }

    }

}
class ButtonListener implements ActionListener{
     public void actionPerformed(ActionEvent e){
         if(e.getSource() == jbtcalculate){
             if(choose == "1"){

                Circle circle = new Circle(Integer.parseInt(t1.getText()));
                 area = Circle.getArea();
                 parameter = Circle.getParameter();
                 String area_string = String.valueOf(area);
                 String parameter_string = String.valueOf(parameter);
                 t3.setText(area_string);
                 t4.setText(parameter_string);
             }
             else if(choose == "2"){
                 Rectangle rectangle = new Rectangle(Integer.parseInt(t1.getText()),Integer.parseInt(t2.getText()));
                 area = Rectangle.getArea();
                 parameter= Rectangle.getParameter();
                 String area_string = String.valueOf(area);
                 String parameter_string = String.valueOf(parameter);
                 t3.setText(area_string);
                 t4.setText(parameter_string);
             }
             else if(choose == "3"){
                 Triangle triangle = new Triangle(Integer.parseInt(t1.getText()));
                 area = Triangle.getArea();
                 parameter= Triangle.getParameter();
                 String area_string = String.valueOf(area);
                 String parameter_string = String.valueOf(parameter);
                 t3.setText(area_string);
                 t4.setText(parameter_string);
             }
         }
         else if(e.getSource() == jbtclear){
             t1.setText(null);
         }

     }
}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    JFrame frame = new GeoCalculate();
    frame.setTitle("U10016046_GeoCalculate");
    frame.setSize(450,450);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);

}

}

camsmommy113 commented 1 year ago

import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField;

import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Scanner;

public class GeoCalculate extends JFrame{ String choose; boolean x = true; JButton jbtcalculate = new JButton("計算"); JButton jbtclear = new JButton("清除"); double area,parameter;

static JTextField t1 = new JTextField(4);
static JTextField t2 = new JTextField(4);
static JTextField t3 = new JTextField(10);
static JTextField t4 = new JTextField(10);

public GeoCalculate(){
    Scanner input = new Scanner(System.in);
    System.out.println("請選擇想要算的幾何形狀:");
    System.out.println("1. Circle , 2. Rectangle , 3. Deltoid");
    choose = input.nextLine();
    JPanel p1 = new JPanel();
    JPanel p2 = new JPanel();
    JPanel p3 = new JPanel();
    JPanel p4 = new JPanel();

    setLayout(new GridLayout(4,1));
    p1.setLayout(new FlowLayout());
    p2.setLayout(new FlowLayout());
    p3.setLayout(new FlowLayout());
    p4.setLayout(new FlowLayout());
    add(p1);
    add(p2);
    add(p3);
    add(p4);

    ButtonListener listener = new ButtonListener();

    while(x){
        switch(choose){
        case "1":

            p1.add(new JLabel("Circle:"));
            p2.add(new JLabel("Radius:"));
            p2.add(t1);
            p2.add(jbtcalculate);
            p2.add(jbtclear);
            p3.add(new JLabel("The area is:"));
            p3.add(t3);
            p4.add(new JLabel("The parameter is:"));
            p4.add(t4);

            jbtcalculate.addActionListener(listener);
            jbtclear.addActionListener(listener);

            x = false;
            break;

        case "2":
            p1.add(new JLabel("Rectangle:"));
            p2.add(new JLabel("Length:"));
            p2.add(t1);
            p2.add(new JLabel("Width:"));
            p2.add(t2);
            p2.add(jbtcalculate);
            p2.add(jbtclear);
            p3.add(new JLabel("The area is:"));
            p3.add(t3);
            p4.add(new JLabel("The parameter is:"));
            p4.add(t4);
            add(p1);
            add(p2);
            add(p3);
            add(p4);

            jbtcalculate.addActionListener(listener);
            jbtclear.addActionListener(listener);

            x = false;
            break;

        case "3":   
            p1.add(new JLabel("Deltoid:"));
            p2.add(new JLabel("Edge:"));
            p2.add(t1);
            p2.add(jbtcalculate);
            p2.add(jbtclear);
            p3.add(new JLabel("The area is:"));
            p3.add(t3);
            p4.add(new JLabel("The parameter is:"));
            p4.add(t4);
            add(p1);
            add(p2);
            add(p3);
            add(p4);

            jbtcalculate.addActionListener(listener);
            jbtclear.addActionListener(listener);

            x = false;
            break;

        default:
            System.out.println("輸入錯誤請重新輸入");
            System.out.println("請選擇想要算的幾何形狀:");
            System.out.println("1. Circle , 2. Rectangle , 3. Deltoid");
            choose = input.nextLine();

        }

    }

}
class ButtonListener implements ActionListener{
     public void actionPerformed(ActionEvent e){
         if(e.getSource() == jbtcalculate){
             if(choose == "1"){

                Circle circle = new Circle(Integer.parseInt(t1.getText()));
                 area = Circle.getArea();
                 parameter = Circle.getParameter();
                 String area_string = String.valueOf(area);
                 String parameter_string = String.valueOf(parameter);
                 t3.setText(area_string);
                 t4.setText(parameter_string);
             }
             else if(choose == "2"){
                 Rectangle rectangle = new Rectangle(Integer.parseInt(t1.getText()),Integer.parseInt(t2.getText()));
                 area = Rectangle.getArea();
                 parameter= Rectangle.getParameter();
                 String area_string = String.valueOf(area);
                 String parameter_string = String.valueOf(parameter);
                 t3.setText(area_string);
                 t4.setText(parameter_string);
             }
             else if(choose == "3"){
                 Triangle triangle = new Triangle(Integer.parseInt(t1.getText()));
                 area = Triangle.getArea();
                 parameter= Triangle.getParameter();
                 String area_string = String.valueOf(area);
                 String parameter_string = String.valueOf(parameter);
                 t3.setText(area_string);
                 t4.setText(parameter_string);
             }
         }
         else if(e.getSource() == jbtclear){
             t1.setText(null);
         }

     }
}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    JFrame frame = new GeoCalculate();
    frame.setTitle("U10016046_GeoCalculate");
    frame.setSize(450,450);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);

}

}