BMI Rechner mit eclipse Visual Editor (Seperates Fenster)

Schoofmelker

Mitglied
Huhu bin neu hier und hätte mal ne Frage,

Also wir sollen von der Schule aus einen BMI-Rechner programmieren.
Ich hau euch mal den Quelltext hierein, kann es nicht so gut erklären. :)

Java:
package paket_bmi;

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;
import javax.swing.JEditorPane;
import javax.swing.JTextPane;

public class Hauptfenster extends JFrame {

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JButton jButtonberechnen = null;
    private JButton jButtonreset = null;
    private JTextPane jTextPanegewichttextfeld = null;
    private JTextPane jTextPanegroeßetextfeld = null;
    private JTextPane jTextPaneBMITexteingabe = null;
    private JTextField gewicht = null;
    private JTextField groeße = null;
    private JTextField bmi = null;
    
    
    public Hauptfenster() {
        super();
        initialize();
    }


     
    private void initialize() {
        this.setSize(458, 267);
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }

   
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(null);
            jContentPane.add(getJButtonberechnen(), null);
            jContentPane.add(getJButtonreset(), null);
            jContentPane.add(getJTextPanegewichttextfeld(), null);
            jContentPane.add(getJTextPanegroeßetextfeld(), null);
            jContentPane.add(getJTextPaneBMITexteingabe(), null);
            jContentPane.add(getGewicht(), null);
            jContentPane.add(getGroeße(), null);
            jContentPane.add(getBmi(), null);
        }
        return jContentPane;
    }

    /**
     * This method initializes jButtonberechnen    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButtonberechnen() {
        if (jButtonberechnen == null) {
            jButtonberechnen = new JButton();
            jButtonberechnen.setBounds(new Rectangle(45, 135, 155, 44));
            jButtonberechnen.setText("BMI Berechnen");
            jButtonberechnen.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    
                    double masse = Double.parseDouble(gewicht.getText());
                    double groesse = Double.parseDouble(groeße.getText());
                    double bmi = masse / (groesse* groesse);
                    
                    
                    
                }
            });
        }
        return jButtonberechnen;
    }

    
    private JButton getJButtonreset() {
        if (jButtonreset == null) {
            jButtonreset = new JButton();
            jButtonreset.setBounds(new Rectangle(240, 132, 171, 46));
            jButtonreset.setText("Daten Zurücksetzen");
            jButtonreset.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    
                    
                }
            });
        }
        return jButtonreset;
    }

    /**
     * This method initializes jTextPanegewichttextfeld    
     *     
     * @return javax.swing.JTextPane    
     */
    private JTextPane getJTextPanegewichttextfeld() {
        if (jTextPanegewichttextfeld == null) {
            jTextPanegewichttextfeld = new JTextPane();
            jTextPanegewichttextfeld.setBounds(new Rectangle(45, 48, 181, 22));
            jTextPanegewichttextfeld.setText("Bitte Gewicht eingeben:");
        }
        return jTextPanegewichttextfeld;
    }

    /**
     * This method initializes jTextPanegroeßetextfeld    
     *     
     * @return javax.swing.JTextPane    
     */
    private JTextPane getJTextPanegroeßetextfeld() {
        if (jTextPanegroeßetextfeld == null) {
            jTextPanegroeßetextfeld = new JTextPane();
            jTextPanegroeßetextfeld.setBounds(new Rectangle(45, 90, 181, 22));
            jTextPanegroeßetextfeld.setText("Bitte Ihre Körpergröße in cm eingeben");
        }
        return jTextPanegroeßetextfeld;
    }

    /**
     * This method initializes jTextPaneBMITexteingabe    
     *     
     * @return javax.swing.JTextPane    
     */
    private JTextPane getJTextPaneBMITexteingabe() {
        if (jTextPaneBMITexteingabe == null) {
            jTextPaneBMITexteingabe = new JTextPane();
            jTextPaneBMITexteingabe.setBounds(new Rectangle(105, 195, 91, 22));
            jTextPaneBMITexteingabe.setText("Ihr BMI beträgt :");
        }
        return jTextPaneBMITexteingabe;
    }

    /**
     * This method initializes gewicht    
     *     
     * @return javax.swing.JTextField    
     */
    private JTextField getGewicht() {
        if (gewicht == null) {
            gewicht = new JTextField();
            gewicht.setBounds(new Rectangle(286, 51, 93, 20));
        }
        return gewicht;
    }

    /**
     * This method initializes groeße    
     *     
     * @return javax.swing.JTextField    
     */
    private JTextField getGroeße() {
        if (groeße == null) {
            groeße = new JTextField();
            groeße.setBounds(new Rectangle(283, 90, 95, 20));
        }
        return groeße;
    }

    /**
     * This method initializes bmi    
     *     
     * @return javax.swing.JTextField    
     */
    private JTextField getBmi() {
        if (bmi == null) {
            bmi = new JTextField();
            bmi.setBounds(new Rectangle(293, 200, 78, 20));
        }
        return bmi;
    }

}


Meine Frage, ist nun da ich 2 Textfelder gemacht hab die auch von String zu double umgewandelt hab, kann ich den BMI im Fenster direkt anzeigen lassen.Wie krieg ich den berechneten Wert in das Textfeld bmi. Also nachdem ich den Startbotton in eclipse gedrückt habe.

Würde mich sehr sehr bedanken für die passende Antwort

Grüße Timo
 
Zuletzt bearbeitet von einem Moderator:

AntiMuffin

Bekanntes Mitglied
Was meinst du damit "nachdem ich den Startbutton in eclipse gedrückt habe"?
Versteh ich das Richtig:
1. Du Startest das Programm .
2. Der User gibt Größe und Gewicht ein.
3. Der bmi wird daraus berechnet und angezeigt

Wenn nicht dann bitte den Programmablauf erklären.

Mit freundlichen Grüßen,
AntiMuffin
 

Schoofmelker

Mitglied
Also, ich starte das Programm in eclipse. der grüne botton mit dem Pfeil drauf. Dann muss man in dem Fenster, dass nun erscheint größe und Gewicht eingeben. Dann soll man auf den Botton BMI berechnen drücken, der bmi soll dan ausgerechnet und in dem Textfeld bmi angezeigt werden.

Grüße
 

AntiMuffin

Bekanntes Mitglied
Na dann musst du bei actionPerformed() von dem Button zunächst die Werte der beiden Textfelder auslesen und danach in das dritte eintragen.

Ungefähr so:
///Hab schon ewig kein swing mehr gemacht, evtl heißen die Methoden auch anders :bahnhof:
Java:
public void actionPerformed(java.awt.event.ActionEvent e) {
         double groesse = Double.parseDouble (getGroeße().getText ()); // Kein ß benutzen !
         double gewicht = Double.parseDouble (getGewicht().getText ());
         double bmi = 0;
         // berechnen 
         getBmi().setText (Double.toString (bmi));
         
}
 

Schoofmelker

Mitglied
oh ja danke funktioniert :). Kann ich das auch noch irgendwie runden, d.h. dass nur 1ne nachkomma ziffer zu erkennen ist.
und wenn ich auf den resetbotton klicke sollen die Daten reseted werden, wie geht das ? :)
Sry hab wirklich nicht alzu große Ahnung von dem :)

Danke und Grüße
 

AntiMuffin

Bekanntes Mitglied
Ja kannst du mithilfe von String.format("%.1f", Double.toString (bmi)); - Naja du hast den ResetButton und machst dort bei actionPerformed() einfach getGroeße().setText (""); und für die anderen Textfelder das gleiche :)

Gruß,
AntiMuffin
 

Schoofmelker

Mitglied
okay das mit dem Reset button hat funktioniert ;), so jetzt habe ich noch ne letzte Experten frage. Also ich will, dass ich erst wenn ich meine Gewicht und Größe eingegeben habe, dass dann erst der Botton BMI berechnen kommt. Und erst wenn ich den gedrückt habe soll dann mein BMI kommen ;)

Hoffe du bekommst das noch hin aber wenn nicht ist das auch nicht schlimm :)

Grüße
 

AntiMuffin

Bekanntes Mitglied
Dafür musst du nur prüfen ob in den Textfeldern etwas steht:

Dafür hätte ich eine extra Methode macht die schaut ob der Button enabled oder disabled werden muss. Diese Methode soll dann immer aufgerufen werden, wenn sich der Text im Textfeld ändert.
Java:
private JTextField getGroeße() {
if (groeße == null) {
groeße = new JTextField();
groeße.setBounds(new Rectangle(283, 90, 95, 20));
groeße.getDocument().addDocumentListener(new DocumentListener() {
    pruefeButton();
});}
return groeße;
}
private JTextField getGewicht() {
if (gewicht == null) {
gewicht = new JTextField();
gewicht.setBounds(new Rectangle(286, 51, 93, 20));
gewicht.getDocument().addDocumentListener(new DocumentListener() {
    pruefeButton();
});}
}
return gewicht;
}

private void pruefeButton (){
      getJButtonberechnen().setEnabled( getGroeße().getText().length > 0 &&            getGewicht().getText().length > 0);
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Eclipse Dynamisches-Web-Project auf anderen Rechner transportieren Allgemeine Java-Themen 5
U URI Rechner Allgemeine Java-Themen 4
U URI Rechner Allgemeine Java-Themen 2
U URI Rechner (Java Script) Allgemeine Java-Themen 7
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Alex_99 Rechner: Wert zwischenspeichern und bei Bedarf mit Ihm weiterrechnen? Allgemeine Java-Themen 6
M Rechner dez in Hex umwandeln Allgemeine Java-Themen 5
A Rechner in Android Studio Allgemeine Java-Themen 2
H Projekt Quadraturverfahren Rechner Allgemeine Java-Themen 2
KilledByCheese Dezimal nach Hexadezimal rechner wirft seltsame exception Allgemeine Java-Themen 4
P Mehrere Java Versionen auf dem Rechner Allgemeine Java-Themen 3
Thallius Serialisiertes File kann auf anderem Rechner nicht geladen werden Allgemeine Java-Themen 12
D IP-Adresse der Rechner im Netzwerk auflisten Allgemeine Java-Themen 2
M Fitness-Rechner: NullPointerException Allgemeine Java-Themen 7
K Programm startet nur auf eigenem Rechner??? Allgemeine Java-Themen 6
M Linux Rechner per ssh runterfahren mit Java Allgemeine Java-Themen 8
M AWT JAVA Rechner Allgemeine Java-Themen 20
E eindeutige Id's für Rechner Allgemeine Java-Themen 7
Landei Kleiner UPN-Rechner für BigIntegers Allgemeine Java-Themen 5
S Dem Rechner klarmachen das Java 1.5 installiert ist Allgemeine Java-Themen 13
F Zugriff auf lokalen Rechner wer weiss Rat ? Allgemeine Java-Themen 16
M ireport (Jasper Report) geht nur auf meinen Rechner Allgemeine Java-Themen 3
S Rechner formatiert - nichts geht mehr. Allgemeine Java-Themen 2
S jar-datei auf anderem Rechner nicht ausführbar. Allgemeine Java-Themen 40
W Datei und druckerfreigaben von lokalem Rechner auslesen. Allgemeine Java-Themen 2
N entfernten rechner runterfahren => putty-ersatz Allgemeine Java-Themen 8
B Mehrere Versionen auf einem Rechner Allgemeine Java-Themen 2
A Java-Applikation auf einem anderen Rechner starten Allgemeine Java-Themen 17
L kleine frage zum rechner Allgemeine Java-Themen 7
X Java Wirrwarr auf dem Rechner Allgemeine Java-Themen 5
B Rechner stürzt ab wenn Java-Anwendungen geöffnet werden! Allgemeine Java-Themen 2
thE_29 Linux-Rechner herunterfahren Allgemeine Java-Themen 3
A Eclipse hängt sich auf Allgemeine Java-Themen 7
lewbue Eclipse Eclipse Dateinamen in Hieroglyphen Allgemeine Java-Themen 4
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
thor_norsk Eclipse - Fehlermeldung - JavaFX Allgemeine Java-Themen 24
Viper13125 Eclipse Hängt sich auf, wenn ich SimpelDateFormat drin lasse Allgemeine Java-Themen 2
M Eclipse unter Linux Lite Allgemeine Java-Themen 2
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
T Eclipse Synchronisierung mit Github Allgemeine Java-Themen 9
d.lumpi JDA eclipse dateien versenden Allgemeine Java-Themen 4
1Spinne JDK 8 für Eclipse installieren Allgemeine Java-Themen 5
d.lumpi net.* pakete importen (Eclipse) Allgemeine Java-Themen 2
B BOT mit Java [Eclipse] programmieren Allgemeine Java-Themen 7
ReinerCoder Eclipse Fehlermeldung - The constructor Double(double) is deprecated Allgemeine Java-Themen 8
M Probleme bei Eclipse wenn ich entpacke Allgemeine Java-Themen 15
B Eclipse-Lombok-Problem Allgemeine Java-Themen 19
platofan23 Wie .txtDatei im Java Eclipse-Projekt bzw. in der Jar speichern? Allgemeine Java-Themen 7
R @author vor Methode (eclipse) Allgemeine Java-Themen 1
M JAVA API in Eclipse auf deutsch Allgemeine Java-Themen 18
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
L Eclipse Java Code ausführen Allgemeine Java-Themen 18
D Eclipse Export Allgemeine Java-Themen 15
Q Eclipse Escape Sequenzen Farbe ändern Allgemeine Java-Themen 4
X Eclipse Kann fann/j nicht in Eclipse linken... Allgemeine Java-Themen 6
A Eclipse Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 7
L SQL Datei in Eclipse erstellen Allgemeine Java-Themen 3
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
L Compiler-Fehler Eclipse Error: A JNI error has occured Allgemeine Java-Themen 3
P Compiler-Fehler Eclipse Allgemeine Java-Themen 5
T Eclipse IDE Plugin Error Log Allgemeine Java-Themen 0
M Java Eclipse- Datei exportieren Allgemeine Java-Themen 5
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
xYurisha Eclipse, Projekt beschädigt! Allgemeine Java-Themen 6
F JFrame fü Eclipse wie? Allgemeine Java-Themen 6
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
M Java Eclipse in der Uni Allgemeine Java-Themen 8
S Eclipse TestNG Default Test umbenennen Allgemeine Java-Themen 0
S TestNG Eclipse: Reporting erstellen/ verändern Allgemeine Java-Themen 0
H Kennt sich jemand mit Eclipse und dem Thema Jar-File aus ? Allgemeine Java-Themen 6
S Eclipse exit code 805306369 Allgemeine Java-Themen 1
T iText mit eclipse richtig in Java-Projekt einbinden Allgemeine Java-Themen 2
V Eclipse .class Dateien Allgemeine Java-Themen 9
G Eclipse Eclipse: Unreachable code Allgemeine Java-Themen 16
R bei eclipse von java in eine andere programmiersprache wechseln? Allgemeine Java-Themen 2
T 32-Bit Applikationen mit Eclipse erstellen Allgemeine Java-Themen 4
N ZIp datei direkt im eclipse speichern Allgemeine Java-Themen 4
C Eclipse einstellen, dass eine bestimmte JDK benutzt werden soll Allgemeine Java-Themen 3
T Ant Jar Datei per Ant in Eclipse erstellen Allgemeine Java-Themen 2
N Eclipse Projekt von GitHub in bestehendes Projekt einbinden Allgemeine Java-Themen 13
S Eclipse Annotation Processor in Eclipse einbinden Allgemeine Java-Themen 0
T Eclipse Dll einbinden java.lang.UnsatisfiedLinkError nur in Eclipse nicht via javac Allgemeine Java-Themen 1
K eclipse Workspace ändern Allgemeine Java-Themen 2
S FileReader-Problem in Eclipse Allgemeine Java-Themen 8
K ImageJ in eclipse Allgemeine Java-Themen 2
D Java Datei nach Eclipse Export funktioniert nicht Allgemeine Java-Themen 0
HoloYoitsu Kann .dll nur aus Eclipse heraus laden Allgemeine Java-Themen 7
M Modularisierung in Eclipse Equinox Allgemeine Java-Themen 0
P GIT- Bitbucket - Eclipse Allgemeine Java-Themen 3
Shido JDK installieren Eclipse - Fehlermeldung Allgemeine Java-Themen 4
V Eclipse Ich kann bei eclipse nicht schreiben Allgemeine Java-Themen 1
Z JVM komplett tot - Eclipse + Browser gehen nicht + Screenshots Allgemeine Java-Themen 1
Z Eclipse hängt sich alle paar Sekunden auf (Keine Rückmeldung). Allgemeine Java-Themen 4
F Eclipse cache vorhanden? Allgemeine Java-Themen 5
P Eclipse langsam/unbrauchbar bei größeren Quelldateien? Allgemeine Java-Themen 8
S Externe Eclipse Projekte dynamisch einbinden Allgemeine Java-Themen 3
M Eclipse - Fehler: Hauptklasse de.xyz.init.MeineKlasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 2
G Befehl funktioniert in Eclipse allerdings nicht in einer Jar-Datei Allgemeine Java-Themen 3
A Eclipse - Fehler beim "RUN" - "Unable to Launch - The selection cannot be launched" Allgemeine Java-Themen 6
X Registrierung eines Ecore-Models außerhalb der Eclipse-Umgebung Allgemeine Java-Themen 0

Ähnliche Java Themen

Neue Themen


Oben