Обновление местоположения JPanel

#java #position #jpanel #setbounds

#java #положение #jpanel #установленные границы

Вопрос:

в настоящее время я работаю над игрой на Java, и возникла проблема. Это стратегическая игра.

Моя игровая область или карта — это JPanel, которую я помещаю в JScrollPane, позволяя вам прокручивать карту. Я разместил другие JPanels на карте, например, панель для информации о ваших текущих ресурсах. Конечно, когда я прокручиваю, эти JPanels не следуют, и теперь я задаюсь вопросом, какова моя лучшая тактика для этого?

На данный момент я использую стрелки клавиатуры для прокрутки, затем я использую setBounds JPanels, которые я хочу переместить в том же направлении. Например, для клавиши со стрелкой вправо я увеличиваю значение x в параметре setBounds (x, y, sizeX , sizeY). Это не очень красиво, и если удерживать клавишу со стрелкой вправо в течение нескольких секунд, JPanel, на которой есть изображение, начинает немного мерцать.

Какие у меня есть варианты? Спасибо за ваше время!

Комментарии:

1. вам следует опубликовать некоторый код, чтобы мы лучше понимали, что вы делаете. В любом случае, из того, что я понял, вы добавляете «панель JPanel» в панель map JPanel. Почему? Добавьте JPanel панели в родительский компонент карты и используйте zvalues для установления порядка перекрытия.

Ответ №1:

Я бы разместил панели «ресурсы» и т.д. За пределами панели прокрутки. Т.Е. пусть на главной панели есть BorderLayout и пусть область карты будет центральным компонентом, а панель ресурсов — южным компонентом.

       Main panel (BorderLayout)
 _______________________________________
|  ___________________________________  |
| |                                 |A| |
| |                                 | | |
| |                                 | | |
| |     Center component:           | | |
| |                                 | | |
| | (Scrollpane containing the map) | | |
| |                                 | | |
| |                                 | | |
| |_________________________________|v| |
| |<_______________________________>|   |
|                                       |
|  ___________________________________  |
| |                                   | |
| | South component: Resources        | |
| |___________________________________| |
|_______________________________________|