ich Probleme bin vor, wenn eine Variable zu ändern, die im Konstruktor eines anderen Objektsändern Variable in anderen Klasse
JFrame initiallized ist:
public class Window extends JFrame {
private String ip = "default";
private String port = "default";
private String nameClient = "default";
// getters and setters, including setPort ...
public void setPort(String port) {
this.port = port;
}
public Window() {
JLabel numPort = new JLabel(port);
numPort.setBounds(149, 77, 46, 14);
add(numPort);
}
}
In der Testklasse:
public class TestWindow {
public static void main(String[] args){
String validate = "1234";
Window tester = new Window();
tester.setPort(validate);
}
}
Sorry für die noob Frage, aber ich kann nicht verstehen, warum das Jlabel hier nicht ändert. Bei Bedarf ich den ganzen Code schreiben kann (versuchen, einen Chat-ähnlichen Swing app zu machen)
Dank
poste die Methode Window.setPort() ... wir müssen sehen, was du da machst ... –
Ich nehme an, es ist weil 'setPort' nur den Wert von' port' aktualisiert und 'numPort nicht aktualisiert '. Sie müssen jedoch den Code eingeben, über den Sie nachfragen, wenn Sie eine nicht-rate-Antwort wünschen. – azurefrog
Meine andere Vermutung ist, dass Sie denken, dass die Aktualisierung des Wertes von 'port' irgendwie 'numPort' aktualisiert, was nicht der Fall ist (siehe http://stackoverflow.com/questions/40480/is-java-pass-by- Referenz-oder-Weitergabe-Wert). – azurefrog