|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.10.2017, 19:34 | #1 |
Пользователь
Регистрация: 18.12.2016
Сообщений: 37
|
Groovy & Swing
Пишу игрушку puzzle - два вопроса в тексте ...
Код:
Код:
|
19.10.2017, 01:23 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
1)
Код:
|
19.10.2017, 13:17 | #3 |
Пользователь
Регистрация: 18.12.2016
Сообщений: 37
|
1. Black Fregat, спасибо за совет - всё работает как мне надо!
2. Код:
(X присваивается значение 3, Y тоже ...), но далее, "в программу", эти значения не идут - gbc.gridy не присваивается 3, gbc.gridx тоже ... Как надо изменить код, чтобы значения присваивались! |
19.10.2017, 13:49 | #4 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Расскажите чуть подробнее, как Вы всё это мыслите.
Вот создали Вы 16 кнопок. На каждой из них по первому пункту повесили смену заголовка на X. А вот чего Вы хотите от них дальше - не понимаю.. |
19.10.2017, 17:26 | #5 |
Пользователь
Регистрация: 18.12.2016
Сообщений: 37
|
Black Fregat, я просто "ищу подступы" к следующему - при нажатии любой кнопки должен срабатывать метод который определяет есть ли рядом "пустая" кнопка - "", и с какой стороны она находится, и если это так, то эта кнопка меняется с кнопкой "" местами ...
И вот значения q и w присваиваются X и Y в jbtnCh, а из неё "информация не идет", gbc.gridy не присваивается значение Y; gbc.gridx значение X ... P.S. Моя конечная цель сделать так, чтобы можно было задавать размерность puzzle (от 3 до 10 включительно), а так же чтобы расположение номеров кнопок каждый раз было случайным - без 0, без повторов, без лакун. Метод spisok делает такой список. |
19.10.2017, 19:23 | #6 | |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Цитата:
Даже не знаю, с какого конца в ней подступаться.. Цикл проходит по числам от 0 до 16, на каждом шаге создаёт JButton, вычисляет X и Y, заносит их в gbc и по нему добавляет созданный JButton в GridBagLayout. Это всё работает, иначе Вы не увидели квадратика из кнопочек. Но эти X и Y никак не сохраняются в самой JButton! Если какую-то информацию нужно связать с JButton, то чаще всего её кодируют в свойство ActionCommand. Как вариант, там кодируют индекс структуры с информацией, которая хранится в некотором дополнительном контейнере. А теперь пару слов о том, как всё это работает. Весь этот код - только инициализация. В момент появления формы на экране он уже закончил работу. А работать дальше будут только обработчики событий, именно те кусочки, которые прописаны в actionPerformed: И работать они будут сами по себе, замкнуто, а не в том месте, где они у Вас написаны. Но именно в них предстоит реализовывать логику работы. Их нужно будет увеличивать в объёме, выносить в отдельные методы. Мой Вам совет - не спешите набивать шишки, поищите готовые решения, поймите, как они работают. Событийно-управляемый интерфейс требует определённого понимания принципов работы перед тем, как писать код. |
|
19.10.2017, 23:09 | #7 |
Пользователь
Регистрация: 18.12.2016
Сообщений: 37
|
Black Fregat, пожалуйста, можно по подробнее о e -> e.getSource().setText(H), или подскажите где можно прочесть об этом (желательно на русском) ...
|
19.10.2017, 23:21 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Я не в курсе что там в свинге (выкиньте уже его и возьмите JavaFX, а еще лучше Kotlin + TornadoFX ), но скорее всего е это объект с данными события (например какого элемента событие и прочие данные в зависимости от события, например координаты клика или нажатая кнопка) и getSource возвращает элемент, который сгенерировал это событие. Ну и setText это уже его метод.
А -> это лямбда-функция если как в Java, но может быть в Groovy другой синтаксис? У вас вроде по-другому выше.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 19.10.2017 в 23:33. |
20.10.2017, 00:37 | #9 |
Пользователь
Регистрация: 18.12.2016
Сообщений: 37
|
Последний раз редактировалось leprekod; 20.10.2017 в 00:41. |
31.10.2017, 01:17 | #10 |
Пользователь
Регистрация: 18.12.2016
Сообщений: 37
|
При N >= 10 кнопки с номерами от 1 до 9 зрительно по ширине занимают меньше
пространства чем остальные, т. е. по ширине размер компонента (кнопки) меньше чем размер ячейки ... Как надо исправить код, чтобы размеры всех кнопок совпадали с размерами ячеек ... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввод/вывод в Groovy | leprekod | Общие вопросы по Java, Java SE, Kotlin | 15 | 08.03.2017 09:09 |
Плагин для groovy | Senatorik | Общие вопросы по Java, Java SE, Kotlin | 4 | 10.04.2016 00:14 |
GROOVY | AlyonaM | Помощь студентам | 0 | 19.03.2014 10:30 |
Swing JLayer&&LayerUI | mir_zol | Общие вопросы по Java, Java SE, Kotlin | 0 | 14.04.2013 20:00 |