Первый проект Java - решение головоломки Sudoku. Используется SDK для создания первого графического интерфейса (плохая идея?). GUI имеет 9x9 сетку квадратов JButtons. Добавлены обработчики (81!), Для которых «щелчок» циклически меняет значения «_», «1», «9». Именованные кнопки в сетке отражают позицию (также больно). Для решения головоломки реализован массив 9x9 объектов Tile. Плитки для отображения состояния соответствующих JButtons (текстовое значение и т. Д.). Хотите использовать массив Tiles для решения головоломки. Чтобы использовать методы get/setText для r/w из массива в/из JButtons. Хит-стрит !! Невозможно найти способ ссылки на JButtons. Hoped для создания String, представляющего имя переменной JButton (достаточно просто), а затем магическое преобразование (тип casting?) Для ссылки на объект JButton. Невозможно? Строка - это строка ...? У меня есть объект в памяти (JButton) Я не могу ссылаться динамически? Подходы (tic-tac-toe и т. Д.) Создают массив JButtons для доступа по индексу. Не хочу этого делать, поскольку это избавляет от простоты использования качелей. Созданный исходный код SDK - это уже 2000 строк! Использовать хэш для сопоставления объектов объектам? В идеале каждый объект Tile будет отображаться на соответствующий JButton при его создании. Надеюсь, здесь достаточно подробностей, чтобы объяснить, что я пытаюсь сделать. Это тот случай, когда указатели были бы хороши? Является ли это падением использования SDK для графического интерфейса? Недостаток в Java? Может ли кто-нибудь рекомендовать подход к этому (трюки или подсказки)? Благодаря!!Динамическая ссылка на JComponents?
0
A
ответ
0
Массив объектов, расширяющих JButton - путь. Выучил много здесь и много спасибо всем, кто внес свой вклад! Для новичка Java, чтобы думать, что обширный пользовательский интерфейс swing - это простой подход, это глупо. Мне потребовалось несколько недель, чтобы изучить основы JComponents. Я все еще использую «Window Builder», но только для самого базового интерфейса. Хотите бросить вызов новому ученику? Пусть он попытается решить Судоку как первый проект! Теперь, когда я победил в этом интерфейсе, я чувствую себя на вершине мира, и никакая проблема не в моих силах! ЕЩЕ РАЗ СПАСИБО!!
Смежные вопросы
- 1. Динамическая ссылка на PDF
- 2. Динамическая ссылка на ВПР
- 3. Динамическая ссылка на ячейку
- 4. Динамическая ссылка на SharePoint SharePoint
- 5. Динамическая библиотека Ссылка на выполнение
- 6. Динамическая ссылка на класс (Java)
- 7. Динамическая ссылка на статическую ссылку?
- 8. Динамическая ссылка на результат поиска
- 9. динамическая ссылка на javascript файл
- 10. Динамическая ссылка Ember.js
- 11. Динамическая ссылка внутри PHP
- 12. динамическая ссылка с javascript
- 13. Html, динамическая внешняя ссылка
- 14. динамическая ссылка в jQueryMobile
- 15. php динамическая ссылка запрос
- 16. Незаконная динамическая ссылка
- 17. Динамическая ссылка на страницу в Wordpress
- 18. Динамическая ссылка Alfresco на приборной панели
- 19. Концепция Perl динамическая ссылка на массив
- 20. Динамическая таблица ссылка на новую страницу
- 21. Динамическая ссылка на страницу компании Facebook
- 22. Требуется динамическая ссылка на методы вспомогательных модулей?
- 23. Динамическая ссылка на дочернюю страницу WordPress
- 24. Динамическая ссылка на UsedRange в VBA
- 25. динамическая ссылка на вспомогательную страницу meta description
- 26. Динамическая ссылка на ios open black page
- 27. Динамическая ссылка на файлы ресурсов в C#
- 28. AS3 Динамическая ссылка на встроенную графику?
- 29. Рисование видимых JComponents на MouseEvent
- 30. JComponents не отображаются на JPanel
Вы должны использовать массив кнопок вместо 81 переменных. Это унифицирует ваш доступ к кнопкам и значительно уменьшит ваши 2000 строк кода. Кроме того, вы можете использовать один ActionHandler и присоединить его ко всем кнопкам: 'ActionEvent.getSource()' сообщает вам, какая кнопка была нажата. – Thomas
Вы * можете * создать «Map', заполнить его «map.put» («button00», новый JButton()) »и получить доступ к кнопкам с помощью' map.get («button00») '. Но описание звучит так, как будто есть некоторые проблемы с вашим подходом. Когда вы говорите, что вы «использовали SDK для создания графического интерфейса», вы имеете в виду, что вы использовали какой-то GUI-строитель, где вы визуализируете свои компоненты (а не по-настоящему писать * код *)? Этот автоматически сгенерированный код часто ужасен и, конечно же, не лучшая основа для изучения Java .... –
Marco13
Я думаю, что я пробовал универсальный обработчик событий и «это», или без него, но без компиляции. Я написал код, поэтому мне пришлось только изменить суффикс двух имен переменных для каждой вставки (get/set). Этот труд в стороне, кажется, я застрял с предложением массива JButtons. Есть ли способ ссылаться на мой массив JButtons через интерфейс swing (для упрощения дизайна пользовательского интерфейса) или теперь у меня есть собственные объекты JButton, к которым SDK не может получить доступ? Напротив того, что у меня было. Печаль во благо. Возможно, я начинаю ценить C/C++ все больше и больше. – Lester