Java - возможно ли разместить JLayeredPane внутри JScrollPane? - PullRequest
1 голос
/ 21 сентября 2009

когда я пытаюсь поместить JLayeredPane в JScrollPane, я получаю пустое окно (с белым фоном) вместо содержимого, которое я пытаюсь отобразить (это может быть изображение, кнопка, холст). Кто-нибудь знает о проблеме с менеджерами по расположению, которая могла бы вызвать это? Возможно ли это?

EDIT: благодаря помощи camickr теперь я могу поместить JLayeredPane в JScrollPane, хотя теперь я сталкиваюсь с другой проблемой:

Я использую очень большое изображение и пытаюсь поместить его в мою JLayeredPane, которая находится внутри JScrollPane. По какой-то причине, когда я использую это большое изображение (я не получаю исключение переполнения кучи), я получаю этот пробел (белый экран). Кто-нибудь испытывал что-то подобное?

Ответы [ 2 ]

2 голосов
/ 21 сентября 2009

Прочитайте учебник Swing на Как использовать многослойные панели для рабочего примера.

Измените следующую строку:

// add(layeredPane);
add(new JScrollPane(layeredPane));
2 голосов
/ 21 сентября 2009

Ну, это в значительной степени предположение, потому что вы не предоставили много информации, но мне кажется, что предпочтительный размер JLayeredPane равен (0,0), а «белый», который вы видите, является фоном JScrollPane - дочерний элемент JViewport. Попробуйте установить предпочтительный размер на JLayeredPane в качестве начала.

...