2016-08-28 4 views
0
Button btn=new Button("Click Me"); 
    Button btn2=new Button("Click"); 
    btn2.setOnAction(e->System.exit(0)); 
    btn.setOnAction(new EventHandler<ActionEvent>(){ 


     public void handle(ActionEvent action){ 
      System.out.println(5); 
     } 
    }); 
    btn2.relocate(0, 0); 
    StackPane root=new StackPane(); 
    root.getChildren().add(btn); 
    root.getChildren().add(btn2); 
    Scene sene=new Scene(root,500,265); 
    primaryStage.setScene(sene); 
    primaryStage.show(); 

上記のコードを使用してボタンを移動したいのですが、ボタンを移動できません。 コードの問題は何ですか?それを行う他の方法は何ですか?移動ボタンまたはjavafxのその他のもの?

+1

わからないを使用しますここでしかし、答えは: 'StackPane'は、自分自身で管理された子の位置を決定するレイアウトであるという事実を無視しています。つまり、レイアウトパルス中に、以前に割り当てられた' layoutX'に関係なく子は中央に置かれます。 'layoutY'(' relocate'によって修正されました)。すべての子どもたちの位置を自分で判断したい場合は、 'Pane'を使います。選択した子の配置を防ぐには、これらの子に対して 'managed'を' false'に設定します。 'StackPane.setAlignment(btn2、Pos.TOP_LEFT)'もこの場合に動作します... – fabian

答えて

0

答えは次のとおりです。

http://docs.oracle.com/javafx/2/animations/jfxpub-animations.htm

JavaFXのは、アニメーションのための準備のライブラリを持っています。

例(矩形が色あせされます):あなたのコードで

final Rectangle rect1 = new Rectangle(10, 10, 100, 100); 
rect1.setArcHeight(20); 
rect1.setArcWidth(20); 
rect1.setFill(Color.RED); 

... 

FadeTransition ft = new FadeTransition(Duration.millis(3000), rect1); 
ft.setFromValue(1.0); ft.setToValue(0.1); 
ft.setCycleCount(Timeline.INDEFINITE); 
ft.setAutoReverse(true); 
ft.play(); 

あなたは多分TranslateTranstitionを必要とするか、またはちょうどあなたが求めているexcatly何translateXtranslateY方法

関連する問題