JEditorPane & copy'n'paste

Status
Nicht offen für weitere Antworten.

ulr!ch

Bekanntes Mitglied
Hi JavaGemeinde,

folgendes Problem: Ich stelle einen formatierten html-Text + Bilder in einem JEditorPane dar. Der User kann dann den Text bearbeiten (die Bilder sollen so bleiben wie sie sind). Der Editor hat einige Funktionen (fett, kursiv, hochstellen...), aber natürlich nicht den Funktionsumfang von professioneller Textverarbeitungs-Software. Soweit - sogut.

Ich hätte aber gerne eine Möglichkeit, den Text auch in einem anderen Programm weiterverarbeiten zu können, aber
a) per Copy & Paste verschwinden die Graphiken
b) entweder gibt's die Möglichkeit nur Graphiken oder nur Text zu kopieren (flavour-Geschichten)
c) Rtf-Kit ist wohl 'ne tolle Idee, aber auf dem Stand einer Idee geblieben
d) per Screenshot kann man den Text nicht mehr weiterverarbeiten.

Wie machen denn die Browser das? Da kann ich mit Strg+A alles markieren und nach Word rüberkopieren. So etwas wäre toll. Die Threads zu dem Thema hier auch im Forum haben mich leider noch nicht weitergebracht.

Vielleicht gibt's ja eine Möglichkeit, an die ich bisher noch nicht gedacht habe und einer kann mir die nennen.

Alles Gute,
Ulr!ch
 

Wildcard

Top Contributor
Apache sagt dazu:
HWPF is still in early development. It is in the scratchpad section of the SVN. You will need to ensure you either have a recent SVN checkout, or a recent SVN nightly build (including the scratchpad jar!)
Gleich danach kommt die Bitte nach jemandem der sich um das Projekt kümmert, weil sie zZ nicht weiterentwicklen :wink:
Wie du Copy Paste nach MS-Word hinbekommst kann ich dir leider auch nicht sagen.
Aber du könntest zB die OpenOffice API verwenden um ein OpenDocument oder von mir aus auch ein .doc zu erstellen.
 

ulr!ch

Bekanntes Mitglied
Wildcard hat gesagt.:
Aber du könntest zB die OpenOffice API verwenden um ein OpenDocument oder von mir aus auch ein .doc zu erstellen.
Mhm :### Mhmmm... :autsch:
Ich versteh' nur Bahnhof. Das ist doch 'ne library, die ich genauso einbinde wie z. B. JFreeChart, oder?
Kann mir jemand was verständliches zum Einstieg schicken, die API liest sich wie ein Telefonbuch.

Dank!
Ulr!ch
 

ulr!ch

Bekanntes Mitglied
Also das mit OpenOffice ist IMHO auch nur theoretisch möglich.
Ich möchte doch einfach nur Text + Images in einem Format abspeichern, das hinterher irgendjemand lesen und bearbeiten kann. Und odt-Files kann man nicht ohne Weiteres in einem JEditorPane darstellen.
rtf - keine Bilder, html - das eine oder das andere, odt - nicht im JEditorPane - ich krieg' 'n Krampf.
:cry:

LG,
Ulrich
 

Wildcard

Top Contributor
Aber du könntest zB OpenOffice in einem JFrame darstellen...
Dann müsste auch das Copy Paste funktionieren.
 

ulr!ch

Bekanntes Mitglied
Wildcard hat gesagt.:
Man kann auch OpenOffice Portable mit ausliefern. Mach ich auch so.
Wie ist es denn da mit den Lizenzen, Wildcard?
Kann man das bei kommerzieller Software mitliefern?
Wenn ja, wie kann man OO in einem Frame darstellen? :)
Gibt's da 'ne Anleitung irgendwo?

Dank vorab,
Ulr!ch
 

ulr!ch

Bekanntes Mitglied
Hi Wildcard,

das scheint ja der Stein der Weisen zu sein. :D
Hoffnung in Sicht...
Eine kurze Frage hab' ich aber dann doch noch: Also braucht NOA unbedingt Eclipse / SWT... ne oder?

Danke schon mal vorab,
Ulr!ch
 

Wildcard

Top Contributor
Nein, NOA hat mit Eclipse/SWT nichts zu tun.
Du meinst wahrscheinlich NOA4e, das integriert OpenOffice in Eclipse.
 

ulr!ch

Bekanntes Mitglied
Ja, dann ist ja alles prächtig. Vielen Dank schon einmal. :D Echt toll!
Hast du 'ne Ahnung, woran diese Fehlermeldung liegen könnte?
Ich habe schon unterschiedliche JDKs ausprobiert.
java.lang.UnsupportedClassVersionError: ag/ion/bion/officelayer/application/OfficeApplicationException (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
...

LG,
Ulr!ch
 

Wildcard

Top Contributor
Ist ein Java 4!=5 Fehler. NOA sollte aber AFAIK auch mit Java 4 funktionieren.
Was hast du denn gemacht?
 

Wildcard

Top Contributor
Übrigens, falls du's noch nicht selbst hinbekommen hast, so wird OOO integriert:
Code:
final JPanel panel = new JPanel(new BorderLayout());
		panel.setVisible(true);
		frame.add(panel, BorderLayout.CENTER);
		try {
	
			HashMap<String, String> configuration = new HashMap<String, String>();
			configuration.put(IOfficeApplication.APPLICATION_HOME_KEY, "/Path/to/OpenOffice");
			configuration.put(IOfficeApplication.APPLICATION_TYPE_KEY, IOfficeApplication.LOCAL_APPLICATION);
			try {
				officeApplication=OfficeApplicationRuntime.getApplication(configuration);
				officeApplication.setConfiguration(configuration);
				officeApplication.activate();
				
			} catch (OfficeApplicationException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	

			IFrame officeFrame = officeApplication.getDesktopService().constructNewOfficeFrame(panel);
// create a new document
			IDocument document=officeApplication.getDocumentService().constructNewDocument(officeFrame, IDocument.WRITER, DocumentDescriptor.DEFAULT);
 

ulr!ch

Bekanntes Mitglied
Oh Mann!
:roll:
Eine Fehlermeldung jagt die die nächste.
Aktuell bin ich bei:
22.08.2007 14:00:52 ag.ion.bion.officelayer.internal.application.connection.LocalOfficeConnection openConnection
INFO: Opening local OpenOffice.org connection.
#
# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x63481450, pid=2044, tid=3048
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode, sharing)
# Problematic frame:
# C [officebean.dll+0x1450]
#
# An error report file with more information is saved as hs_err_pid2044.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#

Liegt das am JRE?

Liebe Grüße,
Ulr!ch
 

Wildcard

Top Contributor
Die ganzen Menüleisten, Toolbars und Controls kannst du übrigens selektiv programmatisch entfernen.
OOO ist schon 'ne ganz feine Sache :D
 

Wildcard

Top Contributor
Ja. das muss sein. Da lohnt sich auch kein Abspecken, da die einzelnen Komponenten Writer/Impress/Calc/... im vergleich zum Kern sehr klein sind.
 

ulr!ch

Bekanntes Mitglied
Wildcard hat gesagt.:
Die ganzen Menüleisten, Toolbars und Controls kannst du übrigens selektiv programmatisch entfernen.
OOO ist schon 'ne ganz feine Sache :D
Da stimme ich dir zu, dass das 'ne feine Sache ist. :D
Kann du mit noch verraten, wie man die Menüleiste bzw. die Toolbars entfernt?

Vielen Dank vorab,
Ulr!ch
 

ulr!ch

Bekanntes Mitglied
Wildcard hat gesagt.:
Ja. das muss sein. Da lohnt sich auch kein Abspecken, da die einzelnen Komponenten Writer/Impress/Calc/... im vergleich zum Kern sehr klein sind.
Alles klar!
Das ist ja stand-alone, muss also vom Nutzer nicht manuell installiert werden.
Das ist doch so korrekt, oder?

LG,
Ulr!ch
 

Wildcard

Top Contributor
Ja, das ist korrekt.
Allerdings solltest du vor dem ausliefern einmal die Portable Version von Hand starten und einen Benutzer anlegen.
Sonst kann es bei einem embedded Frame eventuell zu Problemen kommen.
 

ulr!ch

Bekanntes Mitglied
Wildcard hat gesagt.:
Ja, das ist korrekt.
Allerdings solltest du vor dem ausliefern einmal die Portable Version von Hand starten und einen Benutzer anlegen.
Sonst kann es bei einem embedded Frame eventuell zu Problemen kommen.
Daran hatte ich auch schon gedacht, danke für den Hinweise!
Super! :)

LG,
Ulr!ch
 

ulr!ch

Bekanntes Mitglied
Wildcard hat gesagt.:
Die ganzen Menüleisten, Toolbars und Controls kannst du übrigens selektiv programmatisch entfernen.
OOO ist schon 'ne ganz feine Sache :D
Manchmal denkt man glaube ich zu kompliziert: Du meinst einfach, dass man (vor Auslieferung) den Menü- und Symbolleisten anpasst, das wird in irgendeiner Konfigurationsdatei gespeichert, so dass man automatisch das Layout hat, was man halt haben möchte. Right?

LG,
Ulr!ch
 

Wildcard

Top Contributor
So geht's auch, bei mir ist OOO allerdings in verschiedenen Bereichen integriert, daher muss ich die Menüleiste programmatisch konfigurieren.
 

ulr!ch

Bekanntes Mitglied
Hi Wildcard,

habe doch noch eine Frage, ich habe nun OO komplett deinstalliert und nur eine Portable Version auf meinem Rechner, um zu überprüfen, ob es dann auch noch so schön glatt läuft, und prompt...
Nun steht hier:
Code:
HashMap<String, String> configuration = new HashMap<String, String>();
	    configuration.put(IOfficeApplication.APPLICATION_HOME_KEY, System.getProperty("user.dir")+"\\OpenOfficePortable");
	    configuration.put(IOfficeApplication.APPLICATION_TYPE_KEY, IOfficeApplication.LOCAL_APPLICATION);

Die dazugehörige Fehlermeldung lautet ungefähr so:
ag.ion.bion.officelayer.application.OfficeApplicationException: com.sun.star.lib.connections.pipe.PipeConnection.createJNI(Ljava/lang/String;)I
at ag.ion.bion.officelayer.internal.application.LocalOfficeApplication.openConnection(LocalOfficeApplication.java:161)
at ag.ion.bion.officelayer.internal.application.AbstractOfficeApplication.activate(AbstractOfficeApplication.java:120)
at ag.ion.bion.officelayer.internal.application.AbstractOfficeApplication.activate(AbstractOfficeApplication.java:142)
Er findet den Path nicht. ???:L
Du hast ja Erfahrung damit, wie hast du das Problem gelöst?

Dank vorab & LG,
Ulr!ch
 

Wildcard

Top Contributor
Naja, halt den richtigen Pfad angeben :lol:
Ich glaube das Verzeichnis in dem die soffice.bin liegt, oder das darüber.
 

ulr!ch

Bekanntes Mitglied
Wildcard hat gesagt.:
Naja, halt den richtigen Pfad angeben :lol:
Ich glaube das Verzeichnis in dem die soffice.bin liegt, oder das darüber.
:lol: Es ist das darüber, also \App\openoffice\

Langsam bekomme ich ein richtig schlechtes Gewissen, so viele Fragen, aber ich finde über google keine gewinnbringenden Einträge.

Es funktioniert! ABER er ruf es nun doch mit allen möglichen Symbolleisten (hier 7 Stück) auf, obwohl ich es anders definiert habe... Mhm... Kannst du mir vielleicht doch noch verraten, wie ich die programmatisch ausblenden kann?

Also noch einmal vielen, vielen Dank, kann man nicht Sternchen an besonders verdienstvolle Beiträgsschreiber verleihen :D na wenigstens: :applaus:

LG,
Ulr!ch
 

Wildcard

Top Contributor
Ich glaube die Toolbar config wird im Dokument und nicht global abgelegt.
Über den LayoutManager kannst du das beeinflussen:
Code:
ILayoutManager layoutManager = frame.getLayoutManager();
Hier gibt's hideAll() um alle zu verstecken.
Selektiv kannst du anhand der UNO URLs Teile entfernen, aber ich kann dir nicht mehr auswendig beantworten, ob der LayoutManager das kann, oder du dir die XComponent geben lassen musst.
Die zum entfernen notwendigen URLs gibt's hier:
http://www.openshortcut.org/ooo/function-uno.php
Danach ein
Code:
frame.validate()

Mehr kann ich dir gerade nicht sagen, da ich meinen Code nicht zur Hand habe.
Sonderlich schwierig ist's aber nicht.
 

ulr!ch

Bekanntes Mitglied
Vielen Dank erstmal, dass schau' ich mir genauer an.
Alle verstecken klappt schon mal. :D

Liebe Grüße,
Ulr!ch
 

JSteinhilber

Bekanntes Mitglied
Tja, da habe ich wohl das selbe Problem wie Ulrich anno 2007...
...dabei ist der Frame sichtbar.
Könnte es evtl. an der Java-Version 1.6.0_03-b05 liegen. Desweiteren benutze ich OpenOffice.org 2.3.

Hat jemand eine Idee in welcher Ecke ich suchen könnte?

Gruß Jürgen

#
# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x63bc1450, pid=3392, tid=3800
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode, sharing)
# Problematic frame:
# C [officebean.dll+0x1450]
#
# An error report file with more information is saved as hs_err_pid3392.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Relative Pfadangabe in JEditorPane zur lokalen Datei Allgemeine Java-Themen 2
A Auswahl eines JEditorPane das Sich in einem JScrollPanel Befindet Allgemeine Java-Themen 2
A jEditorPane Html Datei öffnen (code) Allgemeine Java-Themen 3
C JEditorPane langsam großes HTML Allgemeine Java-Themen 8
T TextArea, JTextPane, JEditorPane Allgemeine Java-Themen 11
StrikeTom Swing JEditorPane automatischer Umbruch Allgemeine Java-Themen 4
W CSS in JEditorPane Allgemeine Java-Themen 32
I Teilweise falsche Darstellung jap. Zeichen im JEditorPane mit RTFEditorKit aus RTF-Datei Allgemeine Java-Themen 5
S Swing mit JEditorPane per HTML auf Bilder in JAR zugreifen. Allgemeine Java-Themen 3
E JTextArea / JEditorPane + Text formatieren Allgemeine Java-Themen 3
T JavaScript aus HTML im JEditorPane ausführen? Allgemeine Java-Themen 5
X Ausgabe auf JEditorPane Allgemeine Java-Themen 5
Iron Monkey JEditorPane mit Refresh von Meta Allgemeine Java-Themen 7
S ImageTag in JEditorPane Allgemeine Java-Themen 2
R JTextPane (JEditorPane) ignoriert JScrollPane Allgemeine Java-Themen 5
O breite des inhalts eines jeditorpane Allgemeine Java-Themen 2
G JEditorPane Zeilenumbruch Allgemeine Java-Themen 1
G JEditorPane will nicht scrollen! Allgemeine Java-Themen 2
D Suchfunktion innerhalb Jeditorpane Allgemeine Java-Themen 6
G JEditorPane: angezeigter Text Allgemeine Java-Themen 21
D Jeditorpane + einlesen ausserhalb des Jar Allgemeine Java-Themen 4
T JApplet - JEditorPane gegen JPanel tauschen Allgemeine Java-Themen 2
T JEditorPane oder JTextPane Applets und Flash anzeigen Allgemeine Java-Themen 7
T JEditorPane aktualisieren Allgemeine Java-Themen 14
V Hyperlink mit JEditorPane Allgemeine Java-Themen 40
V Hyperlink hervorheben mit Hilfe von der Klasse JEditorPane Allgemeine Java-Themen 7
S JEditorPane / JScrollPane und nach unten scrollen Allgemeine Java-Themen 3
B Quellcode einer Java libary finden um zu copy & paste'n Allgemeine Java-Themen 5
llabusch Cut, Copy & Paste Symbole Allgemeine Java-Themen 2
L Deep Copy LinkedHashMap Allgemeine Java-Themen 5
H Copy Paste implementieren ausserhalb des Programms? Allgemeine Java-Themen 2
K Copy/Paste klappt nicht einwandfrei Allgemeine Java-Themen 15
E Eingabeprüfung JTextField. Fehler bei Copy-Paste Allgemeine Java-Themen 4
X Copy Constructor in Java ? Allgemeine Java-Themen 7
D java.util.ConcurrentModificationException - per Copy vermeiden Allgemeine Java-Themen 11
Daniel_L Bug in Copy-Funktion bei HTML-Editorpane? Allgemeine Java-Themen 4
P [SWT] Copy, Paste und Cut abfangen Allgemeine Java-Themen 6
X Wann ist Runtime.getRuntime().exec mit Copy fertig? Allgemeine Java-Themen 10
P Copy-Constructor aufrufen - Wie ??? Allgemeine Java-Themen 3
A copy Allgemeine Java-Themen 4
T Anti-Kommerzielle Lizenz mit Copy-Left? Allgemeine Java-Themen 58
L Copy&Paste Allgemeine Java-Themen 2
G Copy Allgemeine Java-Themen 2
A Zusammenfassen von zwei Dateien (wie beim DOS-Befehl copy) Allgemeine Java-Themen 6
V Objekt aus Session als copy by value bekommen Allgemeine Java-Themen 4
P Copy mit Runtime.exec() unter Unix Allgemeine Java-Themen 4
N Nochmal Clipboard. cut copy paste Allgemeine Java-Themen 2
N Struct oder Record? Und COPY in und aus Zwischenablage Allgemeine Java-Themen 2
G Deep & Shallow Copy Allgemeine Java-Themen 2
D "Paste" String doppelt Allgemeine Java-Themen 14
W Text curser auswählen für Paste Allgemeine Java-Themen 15
G Paste verbieten Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben