Swing — изменения пользовательского интерфейса не затрагиваются ⇐ JAVA
-
Гость
Swing — изменения пользовательского интерфейса не затрагиваются
Я рисую сетку в пользовательском интерфейсе, используя ширину и высоту, которые я указал при создании GridPanel соответственно. Для наглядности я размещаю сетку, начиная с 30, 30 и заканчивая x – 60, y – 60. В зависимости от размеров сетки динамическое сжатие и увеличение реализуется с помощью ScaleX и ScaleY.
На изображении ниже показано внутреннее устройство объекта ячейки.
Объект ячейки
GenerateMaze — это рекурсивный алгоритм обратного отслеживания, используемый для создания идеальных лабиринтов. (Конечно, не полный, но я все равно должен увидеть результат.)
публичный класс GridPanel расширяет JPanel { частный класс Cell { частный int y, x; частный int[] юг; частный int[] север; частный int[] запад; частный int[] восток; частная ячейка (int y, int x) { это.у = у; это.х = х; this.south = новый int[4]; this.north = новый int[4]; this.west = новый int[4]; this.east = новый int[4]; } } частный int w, h; частный окончательный int ScaleX, ScaleY; частный финал int Vx, Vy; частная конечная сетка Cell[][]; обнаружено частное логическое значение[][]; public GridPanel(int w, int h) { setLayout (новый GridLayout (1, 1)); this.w = ш; this.h = ч; ScaleX = (int) (w / Math.sqrt(w)); масштабY = (int) (h / Math.sqrt(h)); Vx = w/масштабX; Vy = w/шкалаY; обнаружено = новое логическое значение[Vy][Vx]; сетка = новая ячейка[Vy][Vx]; инициализация (сетка); } Private void init(Cell[][] сетка) { for (int j = 0; j
Я рисую сетку в пользовательском интерфейсе, используя ширину и высоту, которые я указал при создании GridPanel соответственно. Для наглядности я размещаю сетку, начиная с 30, 30 и заканчивая x – 60, y – 60. В зависимости от размеров сетки динамическое сжатие и увеличение реализуется с помощью ScaleX и ScaleY.
На изображении ниже показано внутреннее устройство объекта ячейки.
Объект ячейки
GenerateMaze — это рекурсивный алгоритм обратного отслеживания, используемый для создания идеальных лабиринтов. (Конечно, не полный, но я все равно должен увидеть результат.)
публичный класс GridPanel расширяет JPanel { частный класс Cell { частный int y, x; частный int[] юг; частный int[] север; частный int[] запад; частный int[] восток; частная ячейка (int y, int x) { это.у = у; это.х = х; this.south = новый int[4]; this.north = новый int[4]; this.west = новый int[4]; this.east = новый int[4]; } } частный int w, h; частный окончательный int ScaleX, ScaleY; частный финал int Vx, Vy; частная конечная сетка Cell[][]; обнаружено частное логическое значение[][]; public GridPanel(int w, int h) { setLayout (новый GridLayout (1, 1)); this.w = ш; this.h = ч; ScaleX = (int) (w / Math.sqrt(w)); масштабY = (int) (h / Math.sqrt(h)); Vx = w/масштабX; Vy = w/шкалаY; обнаружено = новое логическое значение[Vy][Vx]; сетка = новая ячейка[Vy][Vx]; инициализация (сетка); } Private void init(Cell[][] сетка) { for (int j = 0; j
Мобильная версия