Как скопировать несколько изображений в буфер обмена [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как скопировать несколько изображений в буфер обмена [дубликат]

Сообщение Anonymous »

Интересно, можно ли скопировать несколько изображений в буфер обмена в Java AWT/Swing?
Я видел решение в JavaFX, но не могу его использовать. Или, если у вас есть решение использовать функцию JavaFX в программе AWT, я воспользуюсь им.
Я попробовал и получил эту ошибку:
< blockquote>
Эта операция разрешена только в потоке событий; currentThread =
AWT-EventQueue-0

На самом деле у меня есть несколько JFreeChart на одной панели, и я хочу скопировать их все одновременно.
Итак, я просматриваю все свои графики и делаю это

Код: Выделить всё

for(JFreeChart plot : test) {
BufferedImage objBufferedImage = plot.getChart().createBufferedImage(600, 800);
ImageTransferable transferable = new ImageTransferable(objBufferedImage);
clipboard.setContents(transferable, null);
}
с ImageTranferable — это классический статический класс:

Код: Выделить всё

static class ImageTransferable implements Transferable {
private Image image;

public ImageTransferable(Image image) {
this.image = image;
}

public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
if (isDataFlavorSupported(flavor)) {
return image;
} else {
throw new UnsupportedFlavorException(flavor);
}
}

public boolean isDataFlavorSupported(DataFlavor flavor) {
return flavor == DataFlavor.imageFlavor;
}

public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.imageFlavor };
}
}
Как вы можете предположить, копируется только последняя диаграмма.
Как скопировать все изображения одновременно?
Я не хочу объединять, потому что хочу использовать их отдельно после вставки (то же поведение, что и в Microsoft Word при копировании нескольких изображений).>

Подробнее здесь: https://stackoverflow.com/questions/791 ... -clipboard
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»