Я видел решение в 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);
}
Код: Выделить всё
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
Мобильная версия