Я создаю приложение, которое отображает круги (разных цветов) случайным образом в каждой ячейке gridPane.
Что я хочу сделать, это создать кнопку «Перемешать», которая меняет положение каждого круга случайным образом в пределах gridPane.Тем не менее, я продолжаю сталкиваться с целым рядом проблем.
Вот что я имею до сих пор.Мои два класса (еще не добавлен файл XML):
Класс контроллера
public class viewController {
//My two Variables, a gridPane and a button
@FXML
private GridPane matrix;
@FXML
private Button shuffleBut;
//my eventHandler event that should (1) add circles to all the cells, and
(2) shuffle them amongst the cells in the gridPane.
void shuffle(ActionEvent e) {
Random r = new Random ();
int rowShuffle = r.next((4-0)+1);
int colShuffle = r.next((4-0)+1);
Circle newCircle = new Circle ();
matrix.add(newCircle, rowShuffle, colShuffle );
}
Основной класс
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// just load fxml file and display it in the stage:
Parent root = FXMLLoader.Load(getClass().getResource("mainUI.fxml"));
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
// main method to support non-JavaFX-aware environments:
public static void main(String[] args) {
// starts the FX toolkit, instantiates this class,
// and calls start(...) on the FX Application thread:
launch(args);
}