Open a95641126 opened 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); }
}
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;
}