Inhalt von JTextPane in DB speichern

hihi

Grünschnabel
Hallo,

ich suche nach einer Lösung, wie ich den Inhalt (Text und Bilder) in mein DB speichern könnte. Aber nicht als HTML...Also als BLOB.

Für das Einfügen eines Bildes in das JTextPane benutze ich diese Funktion:

Code:
public static BufferedImage getImageClipboard() {
		Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard()
				.getContents(null);
		try {
			if (t != null && t.isDataFlavorSupported(DataFlavor.imageFlavor)) {
				return (BufferedImage) t.getTransferData(DataFlavor.imageFlavor);
			}
		} catch (UnsupportedFlavorException e) {
		} catch (IOException e) {
		}
		return null;
	}

KeyListener klPaste = new KeyListener() {
		public void keyPressed(KeyEvent e) {
			// TODO Auto-generated method stub
			switch (e.getKeyCode()) {
			case KeyEvent.VK_V:
				if (e.isControlDown()) {
					jtpEditor.paste();
					jtpEditor.insertIcon(new ImageIcon(getImageClipboard()));
				}
				break;
			}
		}
};
Nun weiss ich nicht wie ich den Inhalt aus dem JTextPane bekomme, aber nicht nur den Text sondern auch die Bilder.

Bin für jede Hilfe sehr Dankbar.

Liebe Grüsse
hihi ;)
 
Für diejenigen die es interessiert.

Ich habe das Problem so gelöst:

- Tabelle in DB für Image wo ID, DocID, Position, Image (Blob)

Die folgende Funktion habe ich in der Save-Funktion eingefügt.

Code:
vImages = new Vector<Image>();
		vImages.clear();
		DefaultStyledDocument styleddoc = (DefaultStyledDocument) jtpEditor
				.getDocument();

		String noHTMLString = strText.replaceAll("\\<.*?\\>", "");
		for (int i = 0; i <= noHTMLString.length() + 1; i++) {
			if (styleddoc.getCharacterElement(i).getName() == "icon") {
				AttributeSet set = styleddoc.getCharacterElement(i)
						.getAttributes();
				if (StyleConstants.getComponent(set) != null) {
					JLabel jlImage = (JLabel) StyleConstants.getComponent(set);
					if (jlImage != null) {
						ImageIcon Img = (ImageIcon) jlImage.getIcon();
						vImages.add(new Image(0, doc.getNodeID(), styleddoc
								.getCharacterElement(i).getStartOffset(), Img));
					}
				}
			}
		}

Grüsse
hihi
 
Zurück