0
私は、キャンバス上に一度に1行ずつ線を描画するjava FXアプリケーションを作成したいと思います。下のアプリケーションでは、私が想像したように、対角線を描き、1秒間ストールしてから次の対角線を描きます。代わりに、FXウィンドウが空白になり、2秒間待ってから、2つの対角線を同時に表示します。私が探している効果をどのように達成するのですか? javafx.scene.canvas.Canvas
は正しいオブジェクトではありませんか?Java FXキャンバスが完了するまで表示されない
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
public class FrameCanvas extends Application{
public static void main(String[] args){
launch(args);
}
@Override
public void start(Stage primaryStage)throws Exception{
////////////////////Basic FX stuff
Canvas theCanvas = new Canvas(900,900);
StackPane theLayout = new StackPane();
theLayout.getChildren().add(theCanvas);
Scene theScene = new Scene(theLayout,900,900);
primaryStage.setScene(theScene);
primaryStage.show();
///////////////////////
/////Drawing an X
///////////////////////
GraphicsContext gc = theCanvas.getGraphicsContext2D();
Thread.sleep(1000);
gc.strokeLine(0,0,200,200);
Thread.sleep(1000);
gc.strokeLine(200,0,0,200);
/////////////////////////////
}
}
私は、キープレスイベントハンドラでこれを行うことができますどのように私たびスペースバーを押すと、次の行が描画されますか? – SeanLetendre
行のデータをリストに入れます。ハンドラでは、リストの最初の要素を削除し、それを使って線を描画します。 –