×
ZULETZT ANGESEHEN
×
Bitte warten Sie 7 Sekunden
Die Inhalte der Webseite werden bald hinzugefügt! ×
Die Aufgabe der heutigen Stunde ist der GUI-BMIRechner! Dazu schauen wir uns mal die Aufgabe genauer an und versuchen durch intelligentes Lösen ein vollfunktionsfähiges Programm zu erstellen. Für die korrekte Bearbeitung der Aufgabe, benötigen wir erneut ein GUI. Falls du die GUI Grundlagen noch nicht beherscht, schaue dir die GUI Einführung an! Die Aufgabenstellung lautet:
X
Lösungsprozess der Aufgabe:
/**
*
* Das fertige Programm des GUI-BMIRechners
*
* @version 1.0 vom 12.07.2025
* @MeinInfoKurs.github.io
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class BMIRechner extends JFrame {
// Anfang Attribute
private JLabel lBMIRechner = new JLabel();
private JNumberField nfGroesse = new JNumberField();
private JNumberField nfGewicht = new JNumberField();
private JNumberField nfBMIWert = new JNumberField();
private JLabel lGroesseinm = new JLabel();
private JLabel lGewichtinkg = new JLabel();
private JLabel lBMIWert = new JLabel();
private JTextField nfAusgabe = new JTextField();
private JButton bBerechnen = new JButton();
// Ende Attribute
public BMIRechner() {
// Frame-Initialisierung
super();
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 300;
int frameHeight = 300;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setTitle("Der BMIRechner");
setResizable(false);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
lBMIRechner.setBounds(77, 21, 110, 20);
lBMIRechner.setText("BMI-Rechner");
cp.add(lBMIRechner);
nfGroesse.setBounds(177, 74, 91, 20);
nfGroesse.setText("");
cp.add(nfGroesse);
nfGewicht.setBounds(177, 116, 91, 20);
nfGewicht.setText("");
cp.add(nfGewicht);
nfBMIWert.setBounds(179, 157, 91, 20);
nfBMIWert.setText("");
cp.add(nfBMIWert);
lGroesseinm.setBounds(15, 77, 151, 20);
lGroesseinm.setText("Deine Groesse in M:");
cp.add(lGroesseinm);
lGewichtinkg.setBounds(16, 120, 152, 20);
lGewichtinkg.setText("Dein Gewicht in Kg");
cp.add(lGewichtinkg);
lBMIWert.setBounds(19, 155, 145, 20);
lBMIWert.setText("Dein BMI-Wert");
cp.add(lBMIWert);
nfAusgabe.setBounds(66, 197, 150, 20);
cp.add(nfAusgabe);
bBerechnen.setBounds(99, 225, 83, 25);
bBerechnen.setText("Ausrechnen");
bBerechnen.setMargin(new Insets(2, 2, 2, 2));
bBerechnen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
bBerechnen_ActionPerformed(evt);
}
});
cp.add(bBerechnen);
// Ende Komponenten
setVisible(true);
} // end of public BMIRechner
// Anfang Methoden
public static void main(String[] args) {
new BMIRechner();
} // end of main
public void bBerechnen_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfuegen
String Ausgabe;
double Groesse = nfGroesse.getDouble();
double Gewicht = nfGewicht.getDouble();
double BMI = Gewicht / (Groesse * Groesse);
if (BMI < 18.5) {
Ausgabe = "Untergewicht";
} else {
if (BMI > 25) {
Ausgabe = "Uebergewicht";
} else {
Ausgabe = "Normalgewicht";
} // end of if-else
} // end of if-else
nfBMIWert.setDouble(BMI, 1);
nfAusgabe.setText("Du hast " + Ausgabe);
} // end of bBerechnen_ActionPerformed
// Ende Methoden
} // end of class BMIRechner
In der Aufgabenstellung wird gefordert, dass wir folgende Funktionen in unseren Code implementieren:
- X
- X
- X
- X
- X
X
X
X