Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> картинка из буфера в JEditorPane 
:(
    Опции темы
zuran
Дата 27.4.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.12.2008

Репутация: нет
Всего: нет



Добрый день,

Можно ли сделать так, чтобы принажатии кнопки в JEditorPane из буфера вставлялось изображение, которое было туда скопированно, на пример, из  MS Paint.

Спасибо
PM MAIL   Вверх
zuran
Дата 27.4.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.12.2008

Репутация: нет
Всего: нет



Или что-то похожее в JTextPane и как это можно сохранить
PM MAIL   Вверх
CrasyMen
Дата 29.4.2009, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 19.12.2006

Репутация: 2
Всего: 3



Код

import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
import javax.swing.*;

public class ClipboardTest implements ActionListener, Transferable {

    final Toolkit toolkit = Toolkit.getDefaultToolkit();
    final Clipboard clipboard = toolkit.getSystemClipboard();
    Image image = null;

    final JFrame frame = new JFrame();
    final JLabel label = new JLabel();
    final JButton button1 = new JButton("Copy");
    final JButton button2 = new JButton("Paste");
    final JPanel pastePanel = new JPanel();

    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("No image loaded. To load an image:");
            System.out.println("     java ClipboardTest <image file>");
        }
        ClipboardTest test = new ClipboardTest(args.length > 0 ? args[0] : null);
    }

    public ClipboardTest(String imageName) {
        if (imageName != null) {
            image = toolkit.createImage(imageName);
            label.setIcon(new ImageIcon(image));
        }

        button1.addActionListener(this);
        button2.addActionListener(this);

        frame.getContentPane().setLayout(new FlowLayout());
        frame.getContentPane().add(label);
        frame.getContentPane().add(button1);
        frame.getContentPane().add(button2);
        frame.getContentPane().add(pastePanel);
        frame.pack();
        frame.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        try {
            if (e.getSource() == button1) {
                clipboard.setContents(this, null);
            } else {
                final Transferable transferable = clipboard.getContents(null);
                if (transferable.isDataFlavorSupported(DataFlavor.imageFlavor)) {
                    final Image img =
(Image)transferable.getTransferData(DataFlavor.imageFlavor);
                    pastePanel.add(new JLabel(new ImageIcon(img)));
                } else {
                    System.err.println("No image data in the system clipboard.");
                }
                frame.pack();
                frame.invalidate();
                frame.validate();
                frame.repaint();
            }

        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

    public DataFlavor[] getTransferDataFlavors() {
        return new DataFlavor[] { DataFlavor.imageFlavor };
    }

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

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

        return image;
    }
}



--------------------
Человек просто обязан ошибаться, раз другие учатся на его ошибках.
[color=skyblue]Хочу сменить ник и сменю как только дадут такую возможность.[/color]
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.