Objekt an andere Klasse übergeben Java 

Status
Für weitere Antworten geschlossen.

Aoshy

Registered +
Registriert
Nov. 2007
Beiträge
147
So, ich bastel gerade an nem kleinem Tic Tac Toe Spiel und habe, wer hätte es gedacht, ein Problem.
In meiner Klasse "Field" befindet sich mein Spielfeld "field[]" (char Array) und die Methoden zum Speichern, Laden usw.
PHP:
package blablabla.tictactoe
...
public class Field {
public char[] field = new char[9];
...
public Field() {
for (int i = 0; i  field[i] = ' ';
...
}
public int restore(int end) {
...
}
public void save(String filename) {
...
}
public void load(String filename) {
...
}
public void draw(int draw) {
...
}
public char[] getField() {
return this.field;
}
}

In meiner Klasse "Field_Panel" erzeuge ich aus der Klasse "Field" das Objekt "f". Dort werden dann über die Grafische Oberfläche lustig die Spielzüge gemacht.
PHP:
package blablabla.gui;

import blablabla.Field;
...
public class Field_Panel extends JFrame {
...
Field f = new Field();
...
...{
...{
f.draw(X);
}
}
}

Doch wenn ich das Spiel jetzt in der Klasse "Save" speichern will. Muss ich die Methode "save(String filename)" benützen, die in dem in "Field_Panel" erzeugten Objekt "f" ist. Da ich nunmal das Spielfeld "field[]" speichern will, was sich ebenfalls in diesem Objekt befindet.
PHP:
package blablabla.gui;
...
public class Save extends JFrame {

JTextField stf = new JTextField("Spielname", 20);
JButton sbutton = new JButton("Speichern");

public Save() {
...
add(stf);
add(sbutton);
sbutton.addActionListener(new SAL());
...
}
...
class SAL implements ActionListener {

public void actionPerformed(ActionEvent e) {
System.out.println("Speicher Button wurde gedrückt");
String filename = stf.getText();
// -> save(filename);  ...
}
}

Meine Frage ist jetzt folgende,
wie kann ich das in "Field" erzeugte Objekt "f" an die Klasse "Save" übergeben?

MFG Aoshy
 
Zuletzt bearbeitet von einem Moderator:
Öhm wo willst du es denn übergeben?
Im Konstruktor?
PHP:
public Save(final Field field) {
//...
}
oder in einer Methode?
PHP:
public final void saveField(final Field field) {
//...
}

Generell empfehle ich dir zum speichern dann irgendwo Serializable zu implementieren...
 
Danke für die Antwort, hat sich erledigt.

MFg Aoshy
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten