Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. package benutzerschnittstelle;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.EventQueue;
  5.  
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9.  
  10. import fachkonzept.Person;
  11.  
  12. import javax.swing.JLabel;
  13. import javax.swing.JOptionPane;
  14. import javax.swing.JTextField;
  15. import javax.swing.UIManager;
  16. import javax.swing.JButton;
  17. import java.awt.event.ActionListener;
  18. import java.text.DecimalFormat;
  19. import java.awt.event.ActionEvent;
  20.  
  21. public class GUI extends JFrame
  22. {
  23.  
  24. private JPanel contentPane;
  25. private JLabel lblGewicht;
  26. private JTextField txtGewicht;
  27. private JLabel lblKg;
  28. private JLabel lblGre;
  29. private JTextField txtGroesse;
  30. private JLabel lblM;
  31. private JLabel lblBmi;
  32. private JTextField txtBmi;
  33. private JTextField txtGewichtsklasse;
  34. private JButton btnBmiBerechnen;
  35. private JButton btnLschen;
  36.  
  37. /**
  38. * Launch the application.
  39. */
  40. public static void main(String[] args)
  41. {
  42. try
  43. {
  44. UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  45. }
  46. catch (Exception e)
  47. {
  48. System.out.println(e.getLocalizedMessage());
  49. }
  50. EventQueue.invokeLater(new Runnable()
  51. {
  52. public void run()
  53. {
  54. try
  55. {
  56. GUI frame = new GUI();
  57. frame.setVisible(true);
  58. }
  59. catch (Exception e)
  60. {
  61. e.printStackTrace();
  62. }
  63. }
  64. });
  65. }
  66.  
  67. /**
  68. * Create the frame.
  69. */
  70. public GUI()
  71. {
  72. setResizable(false);
  73. setTitle("BMI-Rechner");
  74. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  75. setBounds(100, 100, 277, 305);
  76. contentPane = new JPanel();
  77. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  78. setContentPane(contentPane);
  79. contentPane.setLayout(null);
  80.  
  81. lblGewicht = new JLabel("Gewicht");
  82. lblGewicht.setBounds(10, 22, 46, 13);
  83. contentPane.add(lblGewicht);
  84.  
  85. txtGewicht = new JTextField();
  86. txtGewicht.setBounds(64, 19, 96, 19);
  87. contentPane.add(txtGewicht);
  88. txtGewicht.setColumns(10);
  89.  
  90. lblKg = new JLabel("kg");
  91. lblKg.setBounds(170, 22, 46, 13);
  92. contentPane.add(lblKg);
  93.  
  94. lblGre = new JLabel("Gr\u00F6\u00DFe");
  95. lblGre.setBounds(10, 45, 46, 13);
  96. contentPane.add(lblGre);
  97.  
  98. txtGroesse = new JTextField();
  99. txtGroesse.setBounds(64, 42, 96, 19);
  100. contentPane.add(txtGroesse);
  101. txtGroesse.setColumns(10);
  102.  
  103. lblM = new JLabel("m");
  104. lblM.setBounds(170, 45, 46, 13);
  105. contentPane.add(lblM);
  106.  
  107. lblBmi = new JLabel("BMI");
  108. lblBmi.setBounds(10, 70, 46, 13);
  109. contentPane.add(lblBmi);
  110.  
  111. txtBmi = new JTextField();
  112. txtBmi.setEditable(false);
  113. txtBmi.setBounds(64, 67, 130, 19);
  114. contentPane.add(txtBmi);
  115. txtBmi.setColumns(10);
  116.  
  117. txtGewichtsklasse = new JTextField();
  118. txtGewichtsklasse.setEditable(false);
  119. txtGewichtsklasse.setBounds(64, 96, 130, 19);
  120. contentPane.add(txtGewichtsklasse);
  121. txtGewichtsklasse.setColumns(10);
  122.  
  123. btnBmiBerechnen = new JButton("BMI berechnen");
  124. btnBmiBerechnen.addActionListener(new ActionListener() {
  125. public void actionPerformed(ActionEvent e) {
  126. geklicktBMIBerechnen();
  127. }
  128. });
  129. btnBmiBerechnen.setBounds(10, 129, 243, 21);
  130. contentPane.add(btnBmiBerechnen);
  131.  
  132. btnLschen = new JButton("l\u00F6schen");
  133. btnLschen.addActionListener(new ActionListener() {
  134. public void actionPerformed(ActionEvent e) {
  135. geklicktLoeschen();
  136. }
  137. });
  138. btnLschen.setBounds(10, 160, 243, 21);
  139. contentPane.add(btnLschen);
  140. }
  141.  
  142. private void geklicktLoeschen()
  143. {
  144. txtGewicht.setText(null);
  145. txtGroesse.setText(null);
  146. txtBmi.setText(null);
  147. txtGewichtsklasse.setText(null);
  148. }
  149.  
  150. private void geklicktBMIBerechnen()
  151. {
  152. int gew = 1;
  153. try
  154. {
  155. gew = Integer.parseInt(txtGewicht.getText());
  156. }
  157. catch (NumberFormatException nfe)
  158. {
  159. JOptionPane.showMessageDialog(this, "Nur ganze Zahlen zulässig!", "Gewicht", JOptionPane.ERROR_MESSAGE);
  160. txtGewicht.selectAll();
  161. txtGewicht.requestFocus();
  162. return;
  163. }
  164.  
  165. double gr = 1;
  166. try
  167. {
  168. gr = Double.parseDouble(txtGroesse.getText());
  169. }
  170. catch (NumberFormatException nfe)
  171. {
  172. JOptionPane.showMessageDialog(this, "Nur Dezimalzahlen zulässig!", "Größe", JOptionPane.ERROR_MESSAGE);
  173. txtGroesse.selectAll();
  174. txtGroesse.requestFocus();
  175. return;
  176. }
  177.  
  178. Person diePerson = null;
  179. try
  180. {
  181. diePerson = new Person(gew, gr);
  182. }
  183. catch (Exception e)
  184. {
  185. JOptionPane.showMessageDialog(this, "ungültige Eingabe!");
  186. }
  187. double bmi = diePerson.berechneBMI();
  188. DecimalFormat df = new DecimalFormat("0.00");
  189. txtBmi.setText(df.format(bmi));
  190. String gewKlasse = diePerson.setzeGewichtsklasse();
  191. txtGewichtsklasse.setText(gewKlasse);
  192.  
  193. }
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement