Interface Verbindung GUI zum Programm

piu_96

Mitglied
Hallo.
Ich brauch mal wieder Hilfe, bin total aufgeschmissen und komm mit meinen Unterlagen nicht weiter.
Ja ich bin Java bzw. "GUI"-Anfänger und kanns nicht wirklich.

Mein GUI ist bereits (mithilfe des WindowBuilders) erstellt:

Java:
package paketKalorienumrechner;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.SystemColor;
import java.awt.Font;
import javax.swing.JTextArea;
import javax.swing.JRadioButton;
import javax.swing.JLabel;
import java.awt.Color;

public class Fenster extends JFrame {

    private JPanel contentPane;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Fenster frame = new Fenster();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    
    public Fenster() {
        setTitle("Laufleistungumrechner");
        setBackground(SystemColor.window);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(450, 300);
        setLocationRelativeTo(null);

        contentPane = new JPanel();
        contentPane.setBackground(SystemColor.controlHighlight);
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        // Setzen der Buttons
        JButton berechnen = new JButton("Berechnen");
        berechnen.setFont(new Font("Arial", Font.PLAIN, 12));
        berechnen.setBackground(new Color(176, 196, 222));
        berechnen.setBounds(325, 227, 99, 23);    
        //Nach drücken des Buttons ergebnis anzeigen 
        //berechnen.addActionListener(new MeinListener(text));
        contentPane.add(berechnen);

        JButton abbrechen = new JButton("Abbrechen");
        abbrechen.setFont(new Font("Arial", Font.PLAIN, 12));
        abbrechen.setBackground(new Color(176, 196, 222));
        abbrechen.setBounds(217, 227, 99, 23);
        contentPane.add(abbrechen);

        //Setzen der Textfelde auch mit JTextField möglich
        JTextArea gewicht = new JTextArea();
        gewicht.setBackground(new Color(255, 255, 255));
        gewicht.setBounds(48, 132, 70, 22);
        contentPane.add(gewicht);

        JTextArea dauer = new JTextArea();
        dauer.setBackground(new Color(255, 255, 255));
        dauer.setBounds(48, 190, 70, 22);
        contentPane.add(dauer);

        // Setzen der Checkboxen
        JRadioButton maennlich = new JRadioButton("m\u00E4nnlich");
        maennlich.setBackground(SystemColor.controlHighlight);
        maennlich.setBounds(162, 80, 109, 23);
        contentPane.add(maennlich);

        JRadioButton weiblich = new JRadioButton("weiblich");
        weiblich.setBackground(SystemColor.controlHighlight);
        weiblich.setBounds(48, 80, 109, 23);
        contentPane.add(weiblich);

        //Texte
        JLabel aufuellen1 = new JLabel("Bitte f\u00FCllen Sie folgende Felder aus:");
        aufuellen1.setForeground(new Color(100, 149, 237));
        aufuellen1.setFont(new Font("Arial", Font.BOLD, 15));
        aufuellen1.setBounds(38, 11, 335, 14);
        contentPane.add(aufuellen1);

        JLabel geschlecht1 = new JLabel("Bitte kreuzen Sie ihr Geschlecht an:");
        geschlecht1.setFont(new Font("Arial", Font.PLAIN, 12));
        geschlecht1.setBounds(38, 59, 335, 14);
        contentPane.add(geschlecht1);

        JLabel gewicht1 = new JLabel("Bitte geben sie hier ihr Gewicht in Kilogramm an:");
        gewicht1.setFont(new Font("Arial", Font.PLAIN, 12));
        gewicht1.setBounds(38, 107, 335, 14);
        contentPane.add(gewicht1);

        JLabel dauer1 = new JLabel("Bitte geben Sie hier ihre Laufleistung in Minuten an:");
        dauer1.setFont(new Font("Arial", Font.PLAIN, 12));
        dauer1.setBounds(38, 165, 335, 14);
        contentPane.add(dauer1);


    }
}

Nun fehlt mir aber wie gesagt noch die Verbindung zu meinem eigentlichen Programm.

Startklasse:
Java:
package paketKalorienumrechner;

import java.util.Scanner;
import javax.swing.JTextArea;

import paketKalorienumrechner.Kalorienverbrauch;

public class Startklasse extends Fenster{
    //gehört zu min.getText()
    static JTextArea min;
        
        Startklasse(JTextArea min) {
            this.min = min; }
    /**
     * @param args
     */
    public static void main(String[] args) {
        
        
            
        // Erstellen der Eingabe
        Scanner tastatur = new Scanner(System.in);

        // erzeugen des Objektes
        Kalorienverbrauch KV = new Kalorienverbrauch();

        // belegen der Attribute des Objektes durch die Eingabe
        System.out.println("Bitte geben sie ihr Geschlecht ein (für männlich= 1  |  für weiblich= 2)");
        KV.setGeschlecht(tastatur.nextInt());

        System.out.println("Bitte geben sie ihr Gewicht in kg ein: ");
        KV.setGewicht(tastatur.nextDouble());

        System.out.println("Bitte geben sie die Dauer der Leistung in min ein: ");
        //Stimmt? - Stimmt nicht?
        min.getText();

        double Kalorienrechner = KV.berechneKalorienverbrauch();
        System.out.println("Ihr Kalorienverbrauch leigt bei  : " + Kalorienrechner + " kcal");
    }

}

Die Fachklasse:

Java:
package paketKalorienumrechner;


public class Kalorienverbrauch {

    /**
     * @uml.property  name="geschlecht"
     */
    private int geschlecht;

    /**
     * Getter of the property <tt>geschlecht</tt>
     * @return  Returns the geschlecht.
     * @uml.property  name="geschlecht"
     */
    public int getGeschlecht() {
        return geschlecht;
    }
    /**
     * Setter of the property <tt>geschlecht</tt>
     * @param geschlecht  The geschlecht to set.
     * @uml.property  name="geschlecht"
     */
    public void setGeschlecht(int geschlecht) {
        this.geschlecht = geschlecht;
    }


    /**
     * @uml.property  name="gewicht"
     */
    private double gewicht;

    /**
     * Getter of the property <tt>gewicht</tt>
     * @return  Returns the gewicht.
     * @uml.property  name="gewicht"
     */
    public double getGewicht() {
        return gewicht;
    }
    /**
     * Setter of the property <tt>gewicht</tt>
     * @param gewicht  The gewicht to set.
     * @uml.property  name="gewicht"
     */
    public void setGewicht(double gewicht) {
        this.gewicht = gewicht;
    }


    /** 
     * @uml.property name="dauer"
     */
    private double dauer;

    /** 
     * Getter of the property <tt>dauer</tt>
     * @return  Returns the dauer.
     * @uml.property  name="dauer"
     */
    public double getDauer() {
        return dauer;
    }
    public void setDauer(double dauer) {
        this.dauer = dauer;
    }




    public double berechneKalorienverbrauch(){
    
        double ergebnis;
        
        if (this.geschlecht == 1) 
        {ergebnis =  this.gewicht * 7.54 * (this.dauer / 60);
        }
        else
            if(this.geschlecht == 2)
            {ergebnis = this.gewicht * 7.00 * (this.dauer / 60); 
            }
        
            else {ergebnis =  00000;;
            }
            
        return ergebnis;    }

    
    
    
    /**
     */    
    public Kalorienverbrauch(){    }

}

/** 
 * Setter of the property <tt>dauer</tt>
 * @param dauer  The dauer to set.
 * @uml.property  name="dauer"
 */
 
Moin,

habe das jetzt nur kurz überflogen, das Ableiten von der Klasse "Fenster" macht hier wohl weniger Sinn!
Erstell' ein Objekt vom Typ "Fenster" und arbeite dann damit !

Gruß Klaus
 

Neue Themen


Zurück
Oben