|
|
|
Отображение панелей во фрейме26.06.2019, 14:52. Показов 2432. Ответов 13
Метки нет (Все метки)
В общем-то, есть программа, во фрейме которой лежат объекты, которые можно перетаскивать с помощью мыши. Объекты эти представляют собой класс, расширяющий JPanel, все лежат в другой панели, в которой дефолтный layout (FlowLayout вроде как ставится по умолчанию у панелей). Ну и собсна, в чём вопрос. Панельки перекрывают друг-друга в порядке добавления во фрейм, т.е. первая добавленная перекрывают вторую, вторая перекрывает третью и т.д.
Как я понимаю, они слоями добавляются. Но вот можно ли как-то так сделать, чтоб когда пользователь кликал мышью по панельке, она выводилась на передний план?
0
|
|
| 26.06.2019, 14:52 | |
|
Ответы с готовыми решениями:
13
Swing, отображение JMenu на фрейме
Поочередное отображение панелей |
|
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592
|
|
| 26.06.2019, 17:26 | |
|
в каждом своем ответе я призываю применять JLayeredPane, и только его, но никто не слушает, все ведь книжки читают.
Почитайте про: moveToFront(); moveToBack(); getPosition(); setPosition(); Здесь все что нужно что иметь контроль, нет, иметь полную власть над уровнями объектов.
1
|
|
|
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592
|
|
| 26.06.2019, 17:31 | |
|
Как видно на картинках персонаж может заходить за предметы или наоборот быть на первом плане
0
|
|
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
||||||
| 26.06.2019, 22:42 | ||||||
|
Gungala,
1
|
||||||
|
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592
|
||||||
| 26.06.2019, 23:47 | ||||||
|
глупо, а если объекты разные ? Называется голь на выдумки хитра, есть такой замечательный ресурс JLayeredPane, почему вы его игнорируете ? Вот пример как можно менять уровни по индексу, хоть пачками хоть сотнями любых размеров форм и расцветок. Зачем вам костыли когда есть феррари ?
с JLayeredPane можно менять положение всех объектов которые добавлены в него, кнопки панели и прочее.
1
|
||||||
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
|
| 27.06.2019, 01:48 | |
|
Nidl, поосторожнее на поворотах, Милейший. Почитайте, что такое ZOrder в GUI философии в целом. Потом почитайте, что такое индекс (о котором Вы говорили, но однозначно не знаете, что это такое). А в конце, пересмотрите код, и обратите хорошенько внимание на линию 14.
0
|
|
|
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592
|
|
| 27.06.2019, 08:14 | |
|
Kukstyler, Уважаемый вы видели мои скриншоты сверху ? вот этот как вы выразились "индекс" о котором я ничего не знаю на примере данной игры создает полностью управляемую вселенную объектов, все в игре 4 основных слоя и в каждом слое от 5 до тысячи индексов которые без моего вмешательства в потоке создают полную иллюзию правильного расположения всех объектов, можно прятаться за деревья, башни, дома и все это постоянно через код обрабатывается перетасовыя как колоду уровни в зависимости от того как это нужно персонажу, в коде я не путаюсь, я создал редактор уровней который создает графическую часть и кусок кода который я просто вставляю в основной код копипастом.
мне в корне вообще не интересно что такое ZOrder, я из старой школы и начинал с древнего ассемблера, добравшись до Java GUI я перешагнул за полтора десятков языков программирования, я делаю игры и только игры, остальное неинтересно либо довесок, мои игры на 80% состоят и высшей математики и геометрии. я не отрицаю что вы много наверное книжек прочитали но добрую половину библиотек и классов я с прекрасным успехом заменил математикой сам которая является универсальным знанием во всех языках. Книг по джава я не читал мне не интересен этот копипаст, я выдел для себя список что мне нужно знать в совершенстве что бы игры делать и на джава и тщательно изучил эти моменты. Мои знания это около 1,5 к всяческих графических эффектов и трюков наработанных десятилетиями, я начинал когда 3D был не класс а математическая теорема Пифагора. И мне не понятна ваша претензия хотя бы в том что JLayeredPane это ендинственный инструмент управления слоями в java GUI отвечающий всем потребностям, и почему вы игнорите правильный не оспаримый ответ. Добавлено через 33 минуты Из любопытства я взглянул на описание ZOrder, это старая технология AWT, уже после этого читать стало не интересно, но все же еще раз посмотрел, имеет ряд проблем которые создают баги с размерами объектов, не работает с менеджерами раскладки, вообще внимания не стоит, не удивительно что при поиске информации управления уровнями о нем сейчас не упоминания учитывая что есть JLayeredPane.
0
|
|
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
|||||
| 27.06.2019, 23:06 | |||||
Это Вы так поняли мою "претензию"? ZOrder не является понятием из Java, а из общей "философии GUI". Моя единственная претензия к Вам - не говорите, что кто-либо говорит глупости, если у Вас нет на это чёткой и обоснованной аргументации. Не зная чти такое ZOrder - у Вас её быть просто не может. В любом случае, предлагаю закругляться с флудом.
0
|
|||||
| 27.06.2019, 23:11 [ТС] | |
|
0
|
|
|
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592
|
||||||
| 28.06.2019, 00:19 | ||||||
|
Игра приводилась как яркий пример применения смены уровней, более яркого примера чем игровые миры для этой задачи придумать нельзя.
-ZOrder не является понятием из Java, а из общей "философии GUI". - вы серьезно ? Не знал что это "setComponentZOrder" возвели в культ я признаю только одну философию, это математика, а точнее ее раздел геометрия, все остальное считаю дорогой в никуда. Языки программирования с их библиотеками и классами умирают пачками а математика одинакова применима в любом языке программирования. У зацикленных пользователей на бесполезных копипаст книжках уже трудности с многими вещами которые раньше делались парочкой формул, сейчас вы ищете библиотеку или класс, еще и мнимую философию приплели. Автору был дан лучший ответ по управлению уровней, пусть сам решает, следовать к новым лучшим проектам или поклоняться вашему ZOrder. Пример хорошего спорт кара, объектов можно сделать сколько хотите.
0
|
||||||
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
||
| 28.06.2019, 20:48 | ||
Слушайте, не надо нам рассказывать Ваши сны! Никто никуда ничего не возводил. Либо Вы пытаетесь "троллиться", либо перепутали таблетки - хорошо читайте проспекты, а так-же, прежде, консультируйтесь с врачом либо фармацевтом.
0
|
||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 28.06.2019, 22:16 | |
|
0
|
|
|
2758 / 2065 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
|
||
| 11.07.2019, 12:59 | ||
|
0
|
||
| 11.07.2019, 12:59 | |
|
Помогаю со студенческими работами здесь
14
Отображение другого сайта во фрейме
PyQt5 | Отображение виджета во фрейме Смещенное отображение прямоугольника во фрейме Отображение содержимого во фрейме с прокруткой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|