Wert einer String Variable an andere String Variable in anderer Klasse uebergeben

bandy

Bekanntes Mitglied
Hallo,

ich brauche bei einem Programm folgenden Mechanismus:

"Wenn in der Klasse A, die String Variable "text" durch das Anklicken des Buttons den Wert aendert",

soll dies sich sofort auf die String Variable "aenderung" in der Klasse B auswirken. Sie soll naemlich den gleichen Wert bekommen.

Hier der Quelltext:

Java:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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


public class A extends JFrame{
	B b;
	
	private static final long serialVersionUID = 1L;

	//Konstruktor
	public A(String text){
		super(text);
		setLayout(new FlowLayout(FlowLayout.LEFT));
		JButton button1=new JButton("Button 1");
		button1.setActionCommand("button1");
		JButton button2=new JButton("Button 2");
		button2.setActionCommand("button2");
		AI listener = new AI();
		button1.addActionListener(listener);
		button2.addActionListener(listener);
		add(button1);
		add(button2);
		setSize(305,350);
		setResizable(false);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}//Ende Konstruktor
	
	public String text;
	
	//static //Innere Klasse
	class AI implements ActionListener{
	
		@Override
		public void actionPerformed(ActionEvent e) {
			if(e.getActionCommand().equals("button1")){
			
				text="Erster Text";
				System.out.println(text);
			
			}
			
			if(e.getActionCommand().equals("button2")){
				
				text="Zweiter Text";
				
				System.out.println(text);
				b.neuerText();
			}
		}
}
	
	

	

}


Java:
public class B {
	A a;
	
public	String aenderung=a.text;
	
	
public void neuerText(){


System.out.println("Methode B "+aenderung);

}	
}


Java:
public class Test {

	public static void main(String[] args) {
	
			new A("Ueberschrift ");
	

	}

}

Wie kann man das erreichen?:bahnhof:
 
Zuletzt bearbeitet:
Java:
text="Zweiter Text";
System.out.println(text);
b.setText(text);

b braucht eine entsprechend benannte Methode mit String-Parameter, die den String-Parameter dann im Klassenattribut speichert
 
Java:
text="Zweiter Text";
System.out.println(text);
[code=Java]b.setText(text);
[/code]

b braucht eine entsprechend benannte Methode mit String-Parameter, die den String-Parameter dann im Klassenattribut speichert

Ich habe probiert mit
Java:
b.setText(text);

aber geht nicht, Eclipse bringt Fehlermeldung

"The method setText(String) is undefined for the type B"

:noe:
 
------------>

<---------------
??

Und wie sieht diese entsprechende Methode in der Praxis aus?

Ich habe z.B. so probiert:

Java:
public class B {
	A a;
	
public	String aenderung;
	
	
public String neuerText(String text){

aenderung=text;


return aenderung;
}	
}

Java:
	b.setText(text);

Kein Unterschied:autsch:
 
Hi,

entweder benutzt du halt deine "neuerText"-Methode [c]b.neuerText(text);[/c] oder du schreibst die Methode die
du im Moment auch aufrufst [c]public void setText(String text) {...[/c].
 

Zurück
Oben