Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package benutzerschnittstelle;
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import fachkonzept.Person;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JTextField;
- import javax.swing.UIManager;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.text.DecimalFormat;
- import java.awt.event.ActionEvent;
- public class GUI extends JFrame
- {
- private JPanel contentPane;
- private JLabel lblGewicht;
- private JTextField txtGewicht;
- private JLabel lblKg;
- private JLabel lblGre;
- private JTextField txtGroesse;
- private JLabel lblM;
- private JLabel lblBmi;
- private JTextField txtBmi;
- private JTextField txtGewichtsklasse;
- private JButton btnBmiBerechnen;
- private JButton btnLschen;
- /**
- * Launch the application.
- */
- public static void main(String[] args)
- {
- try
- {
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- }
- catch (Exception e)
- {
- System.out.println(e.getLocalizedMessage());
- }
- EventQueue.invokeLater(new Runnable()
- {
- public void run()
- {
- try
- {
- GUI frame = new GUI();
- frame.setVisible(true);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public GUI()
- {
- setResizable(false);
- setTitle("BMI-Rechner");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 277, 305);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
- lblGewicht = new JLabel("Gewicht");
- lblGewicht.setBounds(10, 22, 46, 13);
- contentPane.add(lblGewicht);
- txtGewicht = new JTextField();
- txtGewicht.setBounds(64, 19, 96, 19);
- contentPane.add(txtGewicht);
- txtGewicht.setColumns(10);
- lblKg = new JLabel("kg");
- lblKg.setBounds(170, 22, 46, 13);
- contentPane.add(lblKg);
- lblGre = new JLabel("Gr\u00F6\u00DFe");
- lblGre.setBounds(10, 45, 46, 13);
- contentPane.add(lblGre);
- txtGroesse = new JTextField();
- txtGroesse.setBounds(64, 42, 96, 19);
- contentPane.add(txtGroesse);
- txtGroesse.setColumns(10);
- lblM = new JLabel("m");
- lblM.setBounds(170, 45, 46, 13);
- contentPane.add(lblM);
- lblBmi = new JLabel("BMI");
- lblBmi.setBounds(10, 70, 46, 13);
- contentPane.add(lblBmi);
- txtBmi = new JTextField();
- txtBmi.setEditable(false);
- txtBmi.setBounds(64, 67, 130, 19);
- contentPane.add(txtBmi);
- txtBmi.setColumns(10);
- txtGewichtsklasse = new JTextField();
- txtGewichtsklasse.setEditable(false);
- txtGewichtsklasse.setBounds(64, 96, 130, 19);
- contentPane.add(txtGewichtsklasse);
- txtGewichtsklasse.setColumns(10);
- btnBmiBerechnen = new JButton("BMI berechnen");
- btnBmiBerechnen.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- geklicktBMIBerechnen();
- }
- });
- btnBmiBerechnen.setBounds(10, 129, 243, 21);
- contentPane.add(btnBmiBerechnen);
- btnLschen = new JButton("l\u00F6schen");
- btnLschen.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- geklicktLoeschen();
- }
- });
- btnLschen.setBounds(10, 160, 243, 21);
- contentPane.add(btnLschen);
- }
- private void geklicktLoeschen()
- {
- txtGewicht.setText(null);
- txtGroesse.setText(null);
- txtBmi.setText(null);
- txtGewichtsklasse.setText(null);
- }
- private void geklicktBMIBerechnen()
- {
- int gew = 1;
- try
- {
- gew = Integer.parseInt(txtGewicht.getText());
- }
- catch (NumberFormatException nfe)
- {
- JOptionPane.showMessageDialog(this, "Nur ganze Zahlen zulässig!", "Gewicht", JOptionPane.ERROR_MESSAGE);
- txtGewicht.selectAll();
- txtGewicht.requestFocus();
- return;
- }
- double gr = 1;
- try
- {
- gr = Double.parseDouble(txtGroesse.getText());
- }
- catch (NumberFormatException nfe)
- {
- JOptionPane.showMessageDialog(this, "Nur Dezimalzahlen zulässig!", "Größe", JOptionPane.ERROR_MESSAGE);
- txtGroesse.selectAll();
- txtGroesse.requestFocus();
- return;
- }
- Person diePerson = null;
- try
- {
- diePerson = new Person(gew, gr);
- }
- catch (Exception e)
- {
- JOptionPane.showMessageDialog(this, "ungültige Eingabe!");
- }
- double bmi = diePerson.berechneBMI();
- DecimalFormat df = new DecimalFormat("0.00");
- txtBmi.setText(df.format(bmi));
- String gewKlasse = diePerson.setzeGewichtsklasse();
- txtGewichtsklasse.setText(gewKlasse);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement