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:
Wie kann man das erreichen?:bahnhof:
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: