2017-01-17 2 views
0

Я хочу анимировать алгоритмы сортировки в холсте в приложении javafx. Честно говоря, у меня есть все в рамках пограничной панели. В левом разделе у меня есть панель прокрутки с Vbox внутри, в которой есть кнопки меню для выбора конкретного алгоритма для анимации. В разделе «Центр» у меня есть Vbox с Canvas, в котором я хочу анимировать визуализации. Мой вопрос заключается в том, как настроить сцену для анимации визуализации в Canvas при нажатии кнопки меню? Скажем, у меня есть класс BubbleSort, который я хочу оживить на холсте. Смогу ли я выполнить это через Main или контроллер? Мой текущий Основной ниже:Визуализации JavaFX в Canvas

public class Main extends Application { 

    @Override 
    public void start(Stage primaryStage) throws Exception{ 
     Parent root = FXMLLoader.load(getClass().getResource("views/HomeView.fxml")); 
     primaryStage.setTitle("Hello World"); 
     primaryStage.setScene(new Scene(root, 300, 275)); 
     root.getStylesheets().add("app/styling/css/styles.css"); 
     primaryStage.show(); 
    } 


    public static void main(String[] args) { 
     launch(args); 
    } 
} 

ответ

0

В заявке JavaFX, назначение главного метода (на самом деле метод start) только для инициализации FXML и другие основные части. Основная часть логики пользовательского интерфейса должна содержаться в вашем классе Controller.

Во-первых, вам необходимо определить обработчик действий в вашем контроллере. В Интернете есть много обучающих программ, и это довольно простая задача в Scenebuilder. Google - ваш лучший друг здесь.

Для анимации, поскольку JavaFX не позволяет изменять отображаемое содержимое потоками, отличными от приложения Application Application, в котором запускается основное приложение, вам придется использовать классы из пакета javafx.animation. См. Creating Transitions and Timeline Animation in JavaFX.

+0

Спасибо за указатели, я посмотрю. –

Смежные вопросы