Ich beginne eine JavaFX-Ansicht von meiner Hauptklasse, und ich möchte einen Wert an diese Instanz der Ansicht übergeben. Momentan verwende ich eine statische Member-Variable in der View-Klasse, möchte aber möglichst keine Statiken vermeiden.JavaFX übergeben Wert in Instanz der Ansicht, ohne statische Setzer
Hauptklasse
import javafx.application.Application;
public class Main
{
public static void main(String[] args)
{
int value = 3;
View.setValue(value);
Application.launch(new View().getClass());
}
}
Ansicht Klasse
import javafx.application.Application;
import javafx.stage.Stage;
public class View extends Application
{
private static int value;
@Override
public void start(Stage arg0) throws Exception
{
// TODO Auto-generated method stub
}
public static int getValue()
{
return value;
}
public static void setValue(int valueIn)
{
View.value = valueIn;
}
}
Gibt es einen besseren Weg, dies zu tun, dass die Variablen oder die Schaffung eines Start() -Methode bei der Verwendung statisches Element vermeidet Ansichtsklasse mit einem Parameter für Wert?
Vielen Dank im Voraus.
EDIT: Nur um zu klären, wie ich aus dem ursprünglichen Beitrag weggelassen (meine schlechte ich weiß), der tatsächliche "Wert" ich will in Passieren ist eine Instanz eines MBassador Event Bus (dh MBassador Bus), sonst alle Ihre Antworten perfekt funktioniert hätten
Sie können nicht: Sie können keinen Verweis auf die Instanz der Unterklasse 'Application' abrufen, die von der Startmethode erstellt wurde, außer von dieser Instanz aus. Was du versuchst zu tun, macht wirklich keinen Sinn: In einer JavaFX - Anwendung solltest du die 'start()' Methode - ** nicht ** die 'main()' Methode - als Einstiegspunkt für die Anwendung. (Eine JavaFX-Anwendung benötigt nicht einmal eine 'main()' -Methode.) –