Funktionalität an Knopf dranhängen - in Java

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

reibi
*
Beiträge: 11
Registriert: Fr, 30.03.2007 10:41
Wohnort: Bern

Funktionalität an Knopf dranhängen - in Java

Beitrag von reibi »

Hallo zusammen

ich hab mir ne schöne Methode gebaut, welche auch prima funktioniert, solange ich sie an einer Stelle explizit aufrufe.

Code: Alles auswählen

	public static void storeAsDoc(XStorable myStorable) throws Exception{
					
		PropertyValue[] storeProps = new PropertyValue[2];
		storeProps[0] = new PropertyValue();
		storeProps[0].Name = "FilterName";
		//storeProps[0].Value = "MS Word 97";
		storeProps[0].Value = "MS Word 97";
		storeProps[1] = new PropertyValue();
		storeProps[1].Name = "CompressMode";
		storeProps[1].Value = "0";
		myStorable.storeToURL("file:///c:/myTemp/mydoc.doc", storeProps);
	}
Mein Problem ist, dass ich dies ausführen will wenn ich einen Kopf auf der Toolbar gedrückt habe. zB einen mit einem "Sternchen"-Symbol.

Wie mache ich einen Knopf, welcher dann diese Methode ausführt, wenn man ihn drückt?

vielen Dank im Voraus ;-)
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Funktionalität an Knopf dranhängen - in Java

Beitrag von turtle47 »

Hallo Reibi,

schau mal hier nach.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
reibi
*
Beiträge: 11
Registriert: Fr, 30.03.2007 10:41
Wohnort: Bern

Re: Funktionalität an Knopf dranhängen - in Java

Beitrag von reibi »

Hallo Jürgen

also ich möchte das gerne mit Java lösen, da ich Funktionalität einbauen möchte die sich nur unter Java realisieren lässt.

Gibts denn da keine Möglichkeit?

Danke und Gruss

reibi
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: Funktionalität an Knopf dranhängen - in Java

Beitrag von hol.sten »

reibi hat geschrieben:Gibts denn da keine Möglichkeit?
Klar geht das. Mehr über das Schreiben von Skripten in Java, und wie du diese aus OOo aufrufen kannst, findest du in diesen Threads:
- [Java] OOo Writer and Calc macro examples: http://user.services.openoffice.org/en/ ... =45&t=1844
- [Java, BSH and JS Script examples] Display a message box: http://user.services.openoffice.org/en/ ... =45&t=2721
- [Java] Remote debugging of scripts in Java: http://user.services.openoffice.org/en/ ... =45&t=3145
Ich hoffe, du verstehst das ganze auch in englisch. Es geht dort tatsächlich darum, Java zu programmieren und das Ergebnis direkt aus OOo als Macro aufzurufen. Genau so wie ein OOo Basic, BeanShell oder JavaScript Macro. Und wenn das Macro in Java fertig ist, kannst du es in ein Menü hängen, einer Taste zuordenen, über die Toolbar aufrufen oder einem OOo Ereignis zuweisen.
reibi
*
Beiträge: 11
Registriert: Fr, 30.03.2007 10:41
Wohnort: Bern

Re: Funktionalität an Knopf dranhängen - in Java

Beitrag von reibi »

Das ist genau der Punkt:

wie häng ich etwas an einen Knopf in der Toolbar zb.


Meinetwegen will ich folgendeMethode aufrufen:

Code: Alles auswählen

public static void sayHello(){
system.out.println("hello");
}
Im Quelltext habe ich das ContainerObjekt wo der Knopf drin liegt und die Properties des Knopes selber,.

Wie stell ich das denn an. Meine Beispielmethode mit dem Knopf zu verknüpfen?

Danke und gruss ;-)
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: Funktionalität an Knopf dranhängen - in Java

Beitrag von hol.sten »

reibi hat geschrieben:Das ist genau der Punkt: wie häng ich etwas an einen Knopf in der Toolbar zb.
Das ist erst der zweite Schritt. Zuerst einmal musst du deinen Java Code in eine Form bringen, dass du ihn aus OOo aufrufen kannst. Und dazu muss du Methoden mit einer vorgegebenen Signatur schreiben und OOo über eine entsprechende parcel-descriptor.xml mitteilen, wie du deine Methoden genannt hast und über welchen CLASSPATH OOo deine Klasse und die zugehörigen JAR-Dateien finden kann. All das ist in den bereits genannten Links ausführlich und mit mehreren lauffähigen Beispielen erklärt.

Wenn du dann dein Java Skript über "Tools" (in deutsch "Extras") > "Run Macro..." (keine Ahnung, wie dieser Punkt in deutsch heißt) findest und ohne Fehler ausführen kannst, dann kannst du dich daran machen, es über "Tools" > "Customize..." deiner Toolbar zuzuweisen. Aber eins nach dem anderen.
reibi hat geschrieben:Im Quelltext habe ich das ContainerObjekt wo der Knopf drin liegt und die Properties des Knopes selber,.
Wie stell ich das denn an. Meine Beispielmethode mit dem Knopf zu verknüpfen?
Programmiere erst mal dein Java Skript, schreibe deinen parcel-descriptor.xml und installiere dann das Ganze unter OOo.
Antworten