Java: Objekt-Array in GUI mit Name anzeigen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Kleines Beispiel =)

class Feld{
    private String name;

    public Feld(String name) {
        this.name = name;
    }
	
    public String toString() {
        return getClass().getName() + "@" + this.name;
    }
    
    public static void main(String[] args){
        Feld badstr = new Feld("Badstraße");
        Feld west = new Feld("Westbahnhof");
        Feld hafen = new Feld("Hafenstraße");


        System.out.println(badstr);
        System.out.println(west);
        System.out.println(hafen);
    }
}
DeiDei2303  30.08.2020, 17:01

Also Feld@ kannst du dann natürlich weglassen..

1

Es ist nun schon viele Jahre her, dass ich Swing verwendet habe, aber ich schätze du musst einfach toString() in deiner Feld-Klasse implementieren.

Usernase 
Fragesteller
 30.08.2020, 16:55

Besitz ist keine Klasse, sondern eine ArrayList

0
alfredo153  30.08.2020, 17:15
@alfredo153

Abgesehen davon ist dein Code wie aus der Zeit gefallen - schau dir mal Themen wie foreach an, wie man mit Interfaces umgeht und wie man Generics initialisiert, wie die Java-Konventionen für Namen sind, und überleg dir mal logisch ob dieser Code Sinn ergibt:

		if (feld.equals(null)) {

Oder ob das nicht etwas umständlich ist....:

			int y = Besitz.indexOf(feld);
			Besitz.get(y).hatHypothek = true;

Falls du sowas wie IntelliJ verwendest, gibt es dort ein "Inspect Code", das dir sowas gleich mit hilfreichen Tipps markiert.

0
alfredo153  30.08.2020, 21:38
@Usernase

Ja. Du sollst Feld::toString() implementieren (genauer gesagt, dessen Implementierung von Object überschreiben).

0