Boolean aus Klasse A als String in Klasse B ausgeben

EvilCodex

Mitglied
Hallo!
Ich versuche gerade mich wieder in Java einzuarbeiten und dachte mir ich könnte eine "Kopie" des Armeelistengenerators von OnlineCodex schreiben (natürlich ohne auch nur eine Zeile aus dem Quellcode von OC zu kopieren).

In der Klasse 1 öffnet sich ein Dialog, in dem ich in einer Combobox ein Volk auswählen kann. Wird ein Volk ausgewählt, wird ein zugehöriger boolean auf true gesetzt:

Java:
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == start && auswahl.getSelectedIndex() == 1) {
			System.out.println("Tiermenschen"); // Test	
			tiermenschen = true;
			this.setVisible(false);
			new Builder();

Die booleans haben natürlich die entsprechenden getter und setter:

Java:
	public boolean isTiermenschen() {
		return tiermenschen;
	}

	public void setTiermenschen(boolean tiermenschen) {
		this.tiermenschen = tiermenschen;
	}

In der Klasse 2 soll nun folgenden passieren:
In einigen Comboboxen werden jetzt unterschiedliche Einheitentypen ausgewählt
- Helden
- Kommandanten
- Kerneinheiten
- ...

Um nun die volkspezifischen Einheiten angezeigt zu bekommen, muss die Klasse 2 Wissen, welches Volk ausgewählt wurde. Zudem möchte ich gerne, dass das Ausgewählte Volk in einem Label angezeigt wird.
Und hier mein Problem:

1) Wie übermittle ich einen boolean an eine andere Klasse?
2) Wie wandle ich den boolean in einen String um, den ich in einem Label anzeigen kann? (toString?)

Danke schonmal
EC

Edit:
Es sind mehrere booleans, ich will, dass Klasse 2 genau den boolean nimmt, der auf true gesetzt wird!
 
Zuletzt bearbeitet:
Viele Methoden, die einen String erwarten, sind schon für Booleans überschrieben. Aber es geht auch mit
Code:
Boolean.toString(deinWert);

Wert übermitteln:
Google mal nach settern und gettern.
Boolean auswählen: Ein Array? Nur den Index übermitteln und nicht den Boolean? Geht das oder meinst du was anderes?
 
Auf die Gefahr hin, dass wir dasselbe meinen:

Es gibt in Warhammer Fantasy 15 Rassen.
In Klasse 1 wählst du eine davon, deren zugehöriger boolean dann auf "true" gesetzt wird.
In Klasse 2 soll jetzt genau dieser boolean erkannt werden und in einem JLabel ausgegeben werden UND einer anderen Klasse sagen, die ich noch erstellen muss, dass sie die Comboboxen mit dein Einheiten füllt. ungefähr wie der Editor von OnlineCodex.

https://www.dropbox.com/sh/6r9zc6gkbjba4jg/LgHcvm-9yp/Lamekh'sOnlineCodex.jar

Also er hat das quasi in einem Fenster. Er wählt oben das Volk, und unten in den Comboboxen tauchen die Einheiten auf, die zu dem Volk gehören. Ich will aber das Volk in einem extra Fenster wählen. Ich hab also für jedes Volk einen boolean erstellt und je nachdem welches Volk ausgewählt wird, wird einer dieser booleans auf true gesetzt. Ich poste einfach mal die Komplette main Klasse. Vielleicht mach ich es mir auch zu kompliziert 😉.

Java:
package ec;

import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;
import java.util.List;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;

public class EvilCodex extends JFrame implements ActionListener {
	private static final long serialVersionUID = 1L;
	
	// Variablen
	double VER = 1.0;
	
	private Toolkit t;
	private int x = 0, y = 0, width = 800, height = 600;
	
	// Komponenten
	private JButton start;
	private JComboBox auswahl;
	private static String[] volk_auswahl = {" ", "Tiermenschen", "Bretonia", "Dämonen des Chaos", "Dunkelelfen", "Zwerge", "Hochelfen", "Echsenmenschen", "Ogerkönigreiche", "Orks & Goblins", "Skaven", "Das Imperium", "Gruftkönige", "Vampirfürsten", "Krieger des Chaos", "Waldelfen"};
	private JTextField pkt;
	private JLabel l1;
	
	private Icon btn = new ImageIcon(getClass().getResource("btn.png"));
	//private Icon ico = new ImageIcon(getClass().getResource("ico.png"));
	
	// Armeekomponenten
	Builder bu;
	private boolean tiermenschen 		= false;
	private boolean bretonia 			= false;
	private boolean daemonen_des_chaos 	= false;
	private boolean dunkelelfen 		= false;
	private boolean zwerge 				= false;
	private boolean hochelfen 			= false;
	private boolean echsenmenschen		= false;
	private boolean ogerkoenigreiche 	= false;
	private boolean orks 				= false;
	private boolean skaven 				= false;
	private boolean imperium 			= false;
	private boolean gruftkoenige 		= false;
	private boolean vampire 			= false;
	private boolean krieger_des_chaos 	= false;
	private boolean waldelfen 			= false;
	
	// Konstruktor
	public EvilCodex() {
		// Fenster zentrieren
		t = Toolkit.getDefaultToolkit();
		Dimension d = t.getScreenSize();
		x = (int) ((d.getWidth() - width) /2);
		y = (int) ((d.getHeight() - height) /2);
		
		setTitle("EvilCodex " + VER);
		
		setBounds(x, y, width, height);
				
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		this.initComponents();
		this.initListeners();
		
		setLayout(null);
		setResizable(false);
		setVisible(true);
	}
	
	// Komponenten hinzufügen
	private void initComponents() {
		start = new JButton("Start", btn);
		start.setBounds(350, 500, 100, 50);
		
		this.add(start);
		
		auswahl = new JComboBox(volk_auswahl);
		auswahl.setBounds(10, 10, 770, 20);
		auswahl.setEditable(false);
		this.add(auswahl);
		
		l1 = new JLabel ("Punkte");
		l1.setBounds(10, 40, 40, 20);
		this.add(l1);
		
		pkt = new JTextField("2500");
		pkt.setBounds(60, 40, 50, 20);
		pkt.setHorizontalAlignment(JTextField.CENTER);
		this.add(pkt);
	}
	
	// Listener hinzufügen
	private void initListeners() {
		start.addActionListener(this);
	}
	
	// Main
	public static void main(String[] args) {
		new EvilCodex();
	}
	
	// Buttonlistener
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == start && auswahl.getSelectedIndex() == 1) {
			System.out.println("Tiermenschen");	
			tiermenschen = true;
			this.setVisible(false);
			new Builder();
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 2) {
			System.out.println("Bretonia");
			bretonia = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 3) {
			System.out.println("Dämonen des Chaos");
			daemonen_des_chaos = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 4) {
			System.out.println("Dunkelelfen");
			dunkelelfen = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 5) {
			System.out.println("Zwerge");
			zwerge = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 6) {
			System.out.println("Hochelfen");
			hochelfen = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 7) {
			System.out.println("Echsenmenschen");
			echsenmenschen = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 8) {
			System.out.println("Ogerkönigreiche");
			ogerkoenigreiche = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 9) {
			System.out.println("Orks und Goblins");
			orks = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 10) {
			System.out.println("Skaven");
			skaven = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 11) {
			System.out.println("Das Imperium");
			imperium = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 12) {
			System.out.println("Gruftkönige");
			gruftkoenige = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 13) {
			System.out.println("Vampirfürsten");
			vampire = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 14) {
			System.out.println("Krieger des Chaos");
			krieger_des_chaos = true;
		
		} else if(e.getSource() == start && auswahl.getSelectedIndex() == 15) {
			System.out.println("Waldelfen");
			waldelfen = true;
		
		} else {
			return;
		}
	}
	
	// getter und setter
	public boolean isTiermenschen() {
		return tiermenschen;
	}

	public void setTiermenschen(boolean tiermenschen) {
		this.tiermenschen = tiermenschen;
	}

	public boolean isBretonia() {
		return bretonia;
	}

	public void setBretonia(boolean bretonia) {
		this.bretonia = bretonia;
	}

	public boolean isDaemonen_des_chaos() {
		return daemonen_des_chaos;
	}

	public void setDaemonen_des_chaos(boolean daemonen_des_chaos) {
		this.daemonen_des_chaos = daemonen_des_chaos;
	}

	public boolean isDunkelelfen() {
		return dunkelelfen;
	}

	public void setDunkelelfen(boolean dunkelelfen) {
		this.dunkelelfen = dunkelelfen;
	}

	public boolean isZwerge() {
		return zwerge;
	}

	public void setZwerge(boolean zwerge) {
		this.zwerge = zwerge;
	}

	public boolean isHochelfen() {
		return hochelfen;
	}

	public void setHochelfen(boolean hochelfen) {
		this.hochelfen = hochelfen;
	}

	public boolean isEchsenmenschen() {
		return echsenmenschen;
	}

	public void setEchsenmenschen(boolean echsenmenschen) {
		this.echsenmenschen = echsenmenschen;
	}

	public boolean isOgerkoenigreiche() {
		return ogerkoenigreiche;
	}

	public void setOgerkoenigreiche(boolean ogerkoenigreiche) {
		this.ogerkoenigreiche = ogerkoenigreiche;
	}

	public boolean isOrks() {
		return orks;
	}

	public void setOrks(boolean orks) {
		this.orks = orks;
	}

	public boolean isSkaven() {
		return skaven;
	}

	public void setSkaven(boolean skaven) {
		this.skaven = skaven;
	}

	public boolean isImperium() {
		return imperium;
	}

	public void setImperium(boolean imperium) {
		this.imperium = imperium;
	}

	public boolean isGruftkoenige() {
		return gruftkoenige;
	}

	public void setGruftkoenige(boolean gruftkoenige) {
		this.gruftkoenige = gruftkoenige;
	}

	public boolean isVampire() {
		return vampire;
	}

	public void setVampire(boolean vampire) {
		this.vampire = vampire;
	}

	public boolean isKrieger_des_chaos() {
		return krieger_des_chaos;
	}

	public void setKrieger_des_chaos(boolean krieger_des_chaos) {
		this.krieger_des_chaos = krieger_des_chaos;
	}

	public boolean isWaldelfen() {
		return waldelfen;
	}

	public void setWaldelfen(boolean waldelfen) {
		this.waldelfen = waldelfen;
	}
}
 
Zuletzt bearbeitet:
Viel zu kompliziert 😀

Dafür gibt es entweder Arrays, in dem jede Rasse ihren Index hat, komplizierter, dafür schon eher Praxis wäre ein einzelner char und du setzt das Bit am entsprechenden Index auf 1 oder du nimmst eine Enumeration, in der jede Rasse ihren Wert hat.

An der Reihenfolge erkennst du meinen Favoriten, die Enumeration.
 

Zurück
Oben