Ошибка Excel VBA: «не удается выполнить задачу с доступными ресурсами»

Я делаю что-то очень похожее в частном проекте, над которым я работаю. До сих пор я сгенерировал изображения до 1024x1024 без каких-либо проблем (кроме памяти) и может отображать их очень быстро и без каких-либо проблем с производительностью.

Переопределение метода рисования подкласса JPanel является излишним и требует больше работы, чем вам нужно.

Как я это делаю:

Class MapIcon implements Icon {...}

ИЛИ

Class MapIcon extends ImageIcon {...}

Код, который вы используете для создания изображения, будет в этом классе. Я использую BufferedImage для рисования, а затем, когда вызывается paintIcon (), используйте g.drawImvge (bufferedImage); Это уменьшает количество мигания, выполняемое во время создания изображений, и вы можете его нарезать.

Далее я расширяю JLabel:

Class MapLabel extends Scrollable, MouseMotionListener {...}

Это потому, что я хочу поместить свое изображение на панель прокрутки, I.e. отобразите часть изображения и попросите пользователя прокрутить по мере необходимости.

Итак, я использую JScrollPane для хранения MapLabel, который содержит только MapIcon.

MapIcon map = new MapIcon (); 
MapLabel mapLabel = new MapLabel (map);
JScrollPane scrollPane = new JScrollPane();

scrollPane.getViewport ().add (mapLabel);

Но для вашего сценария (просто покажите все изображение каждый раз). Вам необходимо добавить MapLabel в верхнюю часть JPanel и убедиться, что все они будут отображаться до полного размера изображения (путем переопределения GetPreferredSize ()).

-10
задан Community 9 July 2018 в 18:41
поделиться