基本的には、HUEライトを同期させるプログラムを作成しています。ライトブリッジがJavaFX GUIに接続されたことを検出するリスナーを組み込むのに問題があります。リスナーが接続したことを検出するたびに、ラベルを「未接続」から「接続済み」に切り替える必要があります。他のメソッドからのJavaFX GUIの制御?
ここでは、プログラムの構造の擬似コードを示します。
public class MainClass extends Application {
boolean connected;
Label label;
public static void main(){
launch(args); //Neccesary to start JavaFX
}
public static void start(){
ConnectToHueLights(); //Takes abt 30s to connect to bridge
Label label = “Searching for connection”; //Message while connecting
Window.addLabel(); //Adds label to hue lights
Window.show(); //Makes window visible
}
private HueLightsListener(){
//Once connected, can do whatever inside of a void method inside of this Listener
private void onConnectionResponds(){
label = “Connected”
connected = true;
}
}
public void ConnectToHueLights(){
create new Listener();
}
基本的に、リスナーがアクティブなときはいつもラベルは変更されません。その方法はわかりません。
ありがとうございます!
私はかなり恥ずかしがり屋のコードはコンパイルされていません... – fabian
ええ、私は知っている、これは擬似コードです。私は、JavaFXがなぜstart()メソッドの外部からラベルを更新することができないのか、それをどうやって行うのかを知りたいだけです。実際のコードは、GUIの大きさとHUEの照明の仕組みのために複雑です –
'Listener'に' System.out.println( "Hello!);'を追加してポップされていることを確認しましたか? – Sedrick