Hi Leute !
Ich poste erstmal meine Klassen damit klar wird worauf ich hinaus will.
Also ich möchte ich ein kleines UI (mein erstes) bauen dies wird umgesetzt in der PokemonUI
und ausgeführt durch erstellen eines Objektes in der Klasse PokemonManager.
Jetzt habe ich ja wie ihr sehen könnt schon ein paar Pokemon im PokemonManager erstellt.
Nun jetzt möchte ich in der Klasse PokemonUI auf diese erstellten Pokemon zugreifen um diese in meinem UI aufzulisten also genauer deren Name,Type etc.
Das gleiche auch mit den Trainerdaten.(habe ich jetzt nicht gepostet die Klasse sollte aber vom Prinzip das gleiche sein).
Wie setze ich das um das ich in der PokemonUI Klasse.
auf zb. poke1.getName(),poke1.getType() etc. Zugriff habe.?
Wäre so lieb wenn ihr weiter wisst ich sitze schon ein paar Stunden dran-.-
Ich poste erstmal meine Klassen damit klar wird worauf ich hinaus will.
Java:
package pokemon.ui;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
public class PokemonUI {
public Pokemon pokeRef;
public PokemonManager pmRef;
PokemonUI(){
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Pokemon Manager");
Table table = new Table(shell, SWT.MULTI | SWT.BORDER
| SWT.FULL_SELECTION);
table.setLinesVisible(true);
table.setHeaderVisible(true);
String[] titles = { "Number", "Name", "Type", "Trainer", "Swaps",
"SwapAllow", "Competitions" };
for (int i = 0; i < titles.length; i++) {
TableColumn column = new TableColumn(table, SWT.NONE);
column.setText(titles[i]);
}
int count =pokeRef.getCntPokeBlngToTrainer();
//Wie greife ich auf die erstellten Pokemon Objekte zu die sich im PokeManager befinden?
for (int i = 0; i < count; i++) {
TableItem item = new TableItem(table, SWT.NONE);
item.setText(0,""+i+"");
item.setText(1,"");
item.setText(2, "!");
item.setText(3, "this stuff behaves the way I expect");
item.setText(4, "almost everywhere");
item.setText(5, "some.folder");
item.setText(6, "line " + i + " in nowhere");
}
for (int i = 0; i < titles.length; i++) {
table.getColumn(i).pack();
}
table.setSize(table.computeSize(SWT.DEFAULT, 200));
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
package pokemon.ui;
import java.util.ArrayList;
/** main-Funktion. */
public class PokemonManager {
public Pokemon getP (Pokemon poke) {
return poke.getPokemon(poke);
}
public static void main(final String[] args) {
Pokemon poke1 = new Pokemon("Glumanda", Type.Fire, false);
Pokemon poke2 = new Pokemon("Bisasam", Type.Poison, true);
Pokemon poke3 = new Pokemon("Shiggy", Type.Water, true);
Pokemon poke4 = new Pokemon("Hornliu", Type.Poison, true);
Pokemon poke5 = new Pokemon("Karpador", Type.Water, true);
ArrayList<Pokemon> Trainer1sBeutel = new ArrayList<Pokemon>();
ArrayList<Pokemon> Trainer2sBeutel = new ArrayList<Pokemon>();
Trainer Trainer1= new Trainer("Trainer1", "Catchum", Trainer1sBeutel);
Trainer Trainer2= new Trainer("Prof", "Trainer2", Trainer2sBeutel);
Trainer Trainer3=new Trainer("Gary", "Trainer2", Trainer2sBeutel);
Trainer2.addPokemon(poke1);
Trainer2.addPokemon(poke2);
Trainer2.addPokemon(poke3);
Trainer2.removePokemon(poke1);
Trainer1.addPokemon(poke4);
Trainer1.addPokemon(poke5);
System.out.println(poke1.getCntPokeBlngToTrainer());
PokemonUI UI=new PokemonUI();
}
}
package pokemon.ui;
import java.util.ArrayList;
import java.util.List;
/**Pokemon Klasse.*/
public class Pokemon {
private String name;
private Type type;
private int number;
private boolean belongingToTrainer;
private Trainer trainerOfPokemon;
private List<Swap> swaps;
private boolean swapAllow;
static private int nextNumber = 1;
private List<Competition> competitions;
private double tagesform;
private static int cntPokeBlngToTrainer=0; //counts the Pokemon objects that belong to a Trainer
/**Constructor for Pokemon Objects.*/
/**Pokemon Objects are called poke1,...,pokecntPokeBlngToTrainer,Pokemons without Trainer are called first poke1x,poke2x...etc..*/
public Pokemon(final String name1, final Type type1, final boolean swapAllow1) {
this.name = name1;
this.type = type1;
this.number = nextNumber;
++nextNumber;
this.swapAllow = swapAllow1;
swaps = new ArrayList();
}
/**returns/outputs attributes of Pokemon Object.*/
public String toString() {
String output = this.name;
System.out.println(this.name);
System.out.println(this.type);
System.out.println(this.number);
return output;
}
/**getter Pokemon's name.*/
public String getName() {
return name;
}
/**setter for Pokemon's name.*/
public void setName(String name1) { // Die this Referenz enthält die Adresse
// unter der man den reservierten
// Speicherbereich des aktuellen Objektes findet.
// Das Schlüsselwort this liefert eine Referenz auf den Speicherbereich, in
// dem
// ein Objekt gespeichert ist zurück.
this.name = name1;
}
/**getter Type.*/
public Type getType() {
return type;
}
/**set Type.*/
public void setType(final Type type1) {
this.type = type1;
}
/**getter for boolean isBelongingToTrainer.*/
public boolean isBelongingToTrainer() {
return belongingToTrainer;
}
/**setter for variable BelongingToTrainer.*/
public void setBelongingToTrainer(boolean belongingToTrainer1) {
this.belongingToTrainer = belongingToTrainer1;
}
/**getter für den Vornamen des aufrufenden Trainers.*/
public boolean isSwapAllow() {
return swapAllow;
}
/**setter für swapAllow.*/
public void setSwapAllow(boolean swapAllow) {
this.swapAllow = swapAllow;
}
// B2
/**getter für Liste swaps.*/
public List<Swap> getSwaps() {
return swaps;
}
/**setter für Liste swaps.*/
public void setSwaps(List<Swap> swaps) {
this.swaps = swaps;
}
/**hinzufügen neuer Swap Objekte zur Liste swaps.*/
public void addSwaps(Swap swaps) {
this.swaps.add(swaps);
}
/**gibt Trainer eines Pokemons zurück.*/
public Trainer getTrainerOfPokemon() {
return trainerOfPokemon;
}
/**legt Trainer eines Pokemons fest.*/
public void setTrainerOfPokemon(Trainer trainerOfPokemon) {
this.trainerOfPokemon = trainerOfPokemon;
}
/**getter für competitions liste.*/
public List<Competition> getCompetitions() {
return competitions;
}
/**setter für competitions liste.*/
public void setCompetitions(List<Competition> competitions) {
this.competitions = competitions;
}
/**gibt die aktuelle tagesform eines Pokemons zurück.*/
public double gettagesform() {
return tagesform = java.lang.Math.random();
}
//Blatt3
/**gibt die Anzahl von Pokemon die einem Trainer zugeordnet sind zurück.*/
public static int getCntPokeBlngToTrainer() {
return cntPokeBlngToTrainer;
}
/**festlegen der Anzahl Pokemon die einem Trainer zugeordnet sind.*/
public static void setCntPokeBlngToTrainer(int cntPokeBlngToTrainer) {
Pokemon.cntPokeBlngToTrainer = cntPokeBlngToTrainer;
}
//getter um auf Pokemon Objekte von ausserhalb zuzugreifen
public Pokemon getPokemon (Pokemon poke){
return poke;
}
//neue getName funktion um von PokemonUI auf Pokemon Name zuzugreifen
public String newGetName (Pokemon poke) {
return this.getPokemon(poke).getName();
}//FUNKTIONIERT NICHT!
}
Also ich möchte ich ein kleines UI (mein erstes) bauen dies wird umgesetzt in der PokemonUI
und ausgeführt durch erstellen eines Objektes in der Klasse PokemonManager.
Jetzt habe ich ja wie ihr sehen könnt schon ein paar Pokemon im PokemonManager erstellt.
Nun jetzt möchte ich in der Klasse PokemonUI auf diese erstellten Pokemon zugreifen um diese in meinem UI aufzulisten also genauer deren Name,Type etc.
Das gleiche auch mit den Trainerdaten.(habe ich jetzt nicht gepostet die Klasse sollte aber vom Prinzip das gleiche sein).
Wie setze ich das um das ich in der PokemonUI Klasse.
auf zb. poke1.getName(),poke1.getType() etc. Zugriff habe.?
Wäre so lieb wenn ihr weiter wisst ich sitze schon ein paar Stunden dran-.-