Übergabe von Parametern an andere Methoden

J

JavaIsanIsland

Neues Mitglied
Hallo,

ich bin noch recht neu was die Programmierung mit Java betrifft. Mein Problem ist folgendes:
Ich erzeuge ein JFrame und möchte die Größe dieses Frames in einer extra Variable abspeichern ("frameWidth" und "frameHeight"). Habe dafür Getter und Setter Methoden gemacht, um in meiner MainKlasse später alles auszuführen. Jedoch gibt er mir immer den Wert 0.0 als Größe aus, obwohl ich ihn wie folgt gesetzt habe (siehe Code). Wie kann ich das ändern?

//Meine ersteKlasse
Java:
package XY;

import java.awt.Toolkit;

import javax.swing.JButton;
import javax.swing.JFrame;

public class LogInFrame extends JFrame{

    //Attribute
    private JButton cancel;
    private JButton login;
    private JButton register;
    private double frameWidth;
    private double frameHeight;

    //Getter und Setter Methoden
    public double getFrameWidth() {
        return frameWidth;
    }

    public void setFrameWidth(double frameWidth) {
        this.frameWidth = frameWidth;
        frameWidth = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
    }

    public double getFrameHeight() {
        return frameHeight;
    }

    public void setFrameHeight(double frameHeight) {
        this.frameHeight = frameHeight;
        frameHeight = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
    }
   
   
}


//Meine MainKlasse
Java:
package XY;

public class MainClass{

    public static void main(String[] args) {

        LogInFrame logInFrame = new LogInFrame();
        logInFrame.getFrameWidth();
        logInFrame.getFrameHeight();
    }

}
 
Zuletzt bearbeitet von einem Moderator:
J

Javinner

Top Contributor
Bitte den Code in Code-Tabs setzen [code=Java]Dein Code[/code]
Zu dem Zeitpunkt, an dem du die Methoden getFrameWidth() und getFrameHeight() aufrufst, sind diese noch nicht initialisiert.
Ich erzeuge ein JFrame und möchte die Größe dieses Frames in einer extra Variable abspeichern
Du könntest beim ersten Aufruf mittels ToolKit die momentane Auflösung ermitteln, ggf. bearbeiten und die Ermittelte oder Neue an den Konstruktor der Klasse LogInFrame beim initialisieren übergeben.
 
K

kneitzel

Gast
Und die Setter sind so Unsinn. Du übergibst einen Wert, der aber sofort wieder überschrieben wird. Dann kannst Du die Variable ganz weglassen und im Getter den Aufruf machen, der die Breite oder Höhe ausliest.

Oder eben den Wert wirklich nutzen, d.h. der Setter setzt den übergebenen Wert.
 
J

Javinner

Top Contributor
Java:
int breite = 50;
int weite = 40;
KistenGroesse groesseBananenKiste = new KistenGroesse(breite, weite);
BananenKiste bananenKiste = new BananenKiste(groesseBananenKiste);
int x = bananenKiste.gibBreite();
int y = bananenKiste.gibWeite();

x = 50;
y = 40;
 
J

JavaIsanIsland

Neues Mitglied
Vielen Dank euch! Habe meine Klassen überarbeitet sehen wie folgt aus (und funktionieren ersteinmal wie gewünscht). Falls ich dennoch etwas ändern sollte, um die lesbarkeit oder ähnliches zu verbessern mir gerne mitteilen:
//Meine JFrame Klasse
Java:
package XY;

import javax.swing.JButton;
import javax.swing.JFrame;

public class LogInFrame extends JFrame{

    //Attribute
    private JButton cancel;
    private JButton login;
    private JButton register;
    private double frameWidth;
    private double frameHeight;

    //Getter und Setter Methoden
    public void setFrameWidth(double frameWidth) {
        this.frameWidth = frameWidth;
    }
    
    public double getFrameWidth() {
        return frameWidth;
    }

    public void setFrameHeight(double frameHeight) {
        this.frameHeight = frameHeight;
    }
    
    public double getFrameHeight() {
        return frameHeight;
    }

    public void showFrame(){
        setSize((int) getFrameWidth(), (int) getFrameHeight());        //Framegröße wird in MainMethode gesetztz, hier lassen wir sie nur übergeben
        setVisible(true);            
        setLocation((int) getFrameWidth() / 2, (int) getFrameHeight() / 2);
        setTitle("Log In");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        
    }
    
}

//Meine MainKlasse
Java:
package XY;

import java.awt.Toolkit;

public class MusikMakerMain{

    public static void main(String[] args) {

        LogInFrame logInFrame = new LogInFrame();
        logInFrame.setFrameWidth(Toolkit.getDefaultToolkit().getScreenSize().getWidth() / 2);
        logInFrame.setFrameHeight(Toolkit.getDefaultToolkit().getScreenSize().getHeight() / 2);
        logInFrame.showFrame();
    }

}
 
K

kneitzel

Gast
Ja, das sieht so doch schon gut aus. Für den Anfang auf jeden Fall sehr gut. Ich möchte da aber ein paar Punkte ansprechen und hoffe, dass ich Dich damit nicht verwirre. Es geht dabei vor allem um das Design:

a) Einen Konstruktor definieren, der gewisse Dinge macht. Hier könnte man z.B. Dinge machen wie eine Default Größe setzen oder eben auch die default close operation setzen.
b) Bei showFrame gehen mir ein paar Dinge durch den Kopf:
b1) von "show frame" würde ich erwarten, dass da nur das frame angezeigt würde. Aber da wird ja noch viel mehr gemacht: Größe gesetzt, Position gesetzt, default close operation gesetzt. Das passt also so in der Form nicht wirklich.
b2) Wenn Du Deine Klasse von JFrame ableitest, dann übernimmst Du ja alle Funktionen. Und da wird das Interface nun sehr verwirrend. Soll "showFrame" aufgerufen werden oder setVisible? Also wenn jemand Deine Klasse bekommt, dann wird er evtl. verwirrt sein bzw. wird die Klasse falsch verwenden. (Hier könnte man dann auch die Thematik Composition vs. Inheritance bezüglich JFrame bringen. Google bring dazu in Zusammenhang zu JFrame einige Treffer.)
c) Getter und Setter von der FrameSize: Wenn das Frame sichtbar ist, dann würde ich erwarten, dass das Setzen des Wertes auch direkt die Größe anpasst. Aber derzeit wird nur die Variable gesetzt.

Das wären so die Punkte, die mir so auf Anhieb durch den Kopf gehen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Fragen zu Methoden (void/return), Übergabe von Parametern Java Basics - Anfänger-Themen 3
G Übergabe von Parametern an JSP Java Basics - Anfänger-Themen 3
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
D Methode mit Übergabe double und Rückgabe String Java Basics - Anfänger-Themen 2
L Methoden Übergabe von Parameter Java Basics - Anfänger-Themen 3
K Java Problem mit Übergabe von argumenten Java Basics - Anfänger-Themen 3
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
R Methoden Übergabe von einer Methodenvariable Java Basics - Anfänger-Themen 3
M Übergabe von Werten Java Basics - Anfänger-Themen 10
arjoopy Kapselung Übergabe von Objekten aus ArrayList Java Basics - Anfänger-Themen 4
C Erste Schritte Übergabe von Klassen Java Basics - Anfänger-Themen 2
C Methoden Objekte und Methode und Übergabe Java Basics - Anfänger-Themen 4
O Übergabe in eine andere Klasse Java Basics - Anfänger-Themen 3
M Übergabe / Rückgabe Java Basics - Anfänger-Themen 6
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
T Problem bei Übergabe von Variablen Java Basics - Anfänger-Themen 1
fLooojava Probleme bei der Übergabe einer Variable Java Basics - Anfänger-Themen 14
A Problem mit set.Text und übergabe Java Basics - Anfänger-Themen 2
R Vererbung Übergabe von Variablen der Superklasse an Subklasse mit "extends" Java Basics - Anfänger-Themen 5
S OOP Übergabe eines Objektes? Java Basics - Anfänger-Themen 1
fLooojava OOP Übergabe/Output in Textfield Java Basics - Anfänger-Themen 4
Furtano OOP Memento Pattern | übergabe einer Kopie des Arrays Java Basics - Anfänger-Themen 0
U Übergabe von Objekten Java Basics - Anfänger-Themen 0
J ArrayList toString() Übergabe Fehler Java Basics - Anfänger-Themen 2
J Problem bei Param.übergabe und dem erstellen von JButtons Java Basics - Anfänger-Themen 4
S Übergabe Java Basics - Anfänger-Themen 14
S Klassen Array: Übergabe von Klasse zur Main Java Basics - Anfänger-Themen 8
A NullPointerException bei Übergabe eines Array Java Basics - Anfänger-Themen 8
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
D Klassen Problem - Übergabe an Konstruktor von Superklasse Java Basics - Anfänger-Themen 2
D Objekt Übergabe Java Basics - Anfänger-Themen 12
M Array Übergabe Java Basics - Anfänger-Themen 17
W Übergabe Stringzeilen von serieller Schnittstelle in andere Klasse Java Basics - Anfänger-Themen 3
B Übergabe Dateiname (String) an andere Klasse Java Basics - Anfänger-Themen 4
P Methoden Übergabe von Werten Java Basics - Anfänger-Themen 7
F Variablen Übergabe von eingelesenen Variablen in neue Klasse Java Basics - Anfänger-Themen 15
M problem mit string übergabe an klasse Java Basics - Anfänger-Themen 10
A übergabe wert in andere klasse Java Basics - Anfänger-Themen 8
A Übergabe von Variablen zu Paintmethode Java Basics - Anfänger-Themen 2
N Array Übergabe Java Basics - Anfänger-Themen 9
L Klassen Parameter Übergabe Java Basics - Anfänger-Themen 12
A OOP Übergabe eines Wertes an den enum Konstruktor Java Basics - Anfänger-Themen 12
O Übergabe von Variablen Java Basics - Anfänger-Themen 9
Darth Simple Übergabe eines Strings an eine Methode Java Basics - Anfänger-Themen 3
A Frage zur Übergabe von Strings Java Basics - Anfänger-Themen 9
N Übergabe problem Java Basics - Anfänger-Themen 6
M Übergabe von VM Argumenten Java Basics - Anfänger-Themen 4
J Übergabe einer ArrayList an mehrere Threads Java Basics - Anfänger-Themen 3
A konstruktor übergabe fehler Java Basics - Anfänger-Themen 8
E Übergabe von werten aus einem JDialog Java Basics - Anfänger-Themen 4
J Übergabe eines Arrays als Parameter Java Basics - Anfänger-Themen 2
G JFileChooser übergabe an Directory Java Basics - Anfänger-Themen 4
S Übergabe von Frame-Objekt - kritisch? Java Basics - Anfänger-Themen 7
L JTabbedPane, richtige Übergabe von Tabs Java Basics - Anfänger-Themen 18
Z BigInteger Methoden und deren Übergabe Java Basics - Anfänger-Themen 3
K Übergabe einer im EventListener definierte variablen Java Basics - Anfänger-Themen 2
M Übergabe von Variablen in eine Klasse Java Basics - Anfänger-Themen 13
G Wieso ist eine String-Übergabe keine by-reference-Zuweisung? Java Basics - Anfänger-Themen 7
M Problem bei der Übergabe von Werten Java Basics - Anfänger-Themen 7
S Veränderung von Protected Daten durch Übergabe? Java Basics - Anfänger-Themen 3
K Übergabe der Variable für Farbe Java Basics - Anfänger-Themen 6
G List<.> nach Übergabe vergleichen? Java Basics - Anfänger-Themen 3
G Übergabe Variablen von Servlet zu JSP? Java Basics - Anfänger-Themen 4
M [SOLVED]parameter übergabe an objekte Java Basics - Anfänger-Themen 2
R Beiß mir die Zähne aus an der Request-Parameter-Übergabe! Java Basics - Anfänger-Themen 10
lin Übergabe an JPanel-Klasse Java Basics - Anfänger-Themen 3
S NullPointerException bei Array-Übergabe Java Basics - Anfänger-Themen 3
Z übergabe von string[] an konstruktoren oder methoden Java Basics - Anfänger-Themen 3
D Übergabe von Variablen Java Basics - Anfänger-Themen 11
W Variabeln Übergabe Java Basics - Anfänger-Themen 14
W übergabe des aktuellen wertes in andere Klasse Java Basics - Anfänger-Themen 3
F Großes Problem: Vector-Übergabe Java Basics - Anfänger-Themen 7
F Übergabe Vaterframe mit this und Fehlermeldung. Java Basics - Anfänger-Themen 2
D Fragen zu Methoden und Übergabe von Werten Java Basics - Anfänger-Themen 4
G Übergabe von Variablenwerten zwischen Methoden Java Basics - Anfänger-Themen 4
D Problem bei Übergabe von Werten an eine Methode Java Basics - Anfänger-Themen 2
H Übergabe eines Wertes an eine Bean --> Bean leer Java Basics - Anfänger-Themen 6
T Array-Übergabe Java Basics - Anfänger-Themen 7
M Windows Pfad-Übergabe.. Java Basics - Anfänger-Themen 6
S String mit Konstruktor (per Übergabe) initialisieren Java Basics - Anfänger-Themen 10
E Methode mit Parametern um Objekte zu übergeben Java Basics - Anfänger-Themen 4
T Interface Methode im Interface mit mehreren Parametern Java Basics - Anfänger-Themen 10
J Methode mouseClicked mit zu übergebenden Parametern Java Basics - Anfänger-Themen 1
J Erste Schritte Java CMD Taschenrechner mit Parametern! Java Basics - Anfänger-Themen 16
B Input/Output Konsolenbefehle mit Parametern Java Basics - Anfänger-Themen 5
C Objekte mit Parametern sortieren Java Basics - Anfänger-Themen 8
U assertEquals mit drei Parametern? Java Basics - Anfänger-Themen 4
F Klassen Ein nicht existierendes Objekt in Parametern übergeben Java Basics - Anfänger-Themen 16
F Java-Programm aus CMD ausführen mit Parametern Java Basics - Anfänger-Themen 7
M Konstruktor mit unterschiedlichen Parametern? Java Basics - Anfänger-Themen 3
M Methode mit beliebigen Parametern in abstrakter Klasse definieren Java Basics - Anfänger-Themen 8
A Methoden Methode mit Parametern Java Basics - Anfänger-Themen 25
M Datentypen Konstruktor mit generischen Parametern überladen Java Basics - Anfänger-Themen 3
M Collections mit >2 type Parametern? Java Basics - Anfänger-Themen 8
M Singleton mit Parametern im Konstruktor Java Basics - Anfänger-Themen 18
xehpuk Polymorphie Polymorphie in Parametern Java Basics - Anfänger-Themen 5
N OOP Dynamische Objekte und nach Parametern durchsuchen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Anzeige

Neue Themen


Oben