2010-12-08 38 views
6

récemment, j'ai commencé à explorer la bibliothèque Officebean, en d'autres termes, j'ai essayé d'obtenir un exemple simple OOoBean en cours d'exécution. Malheureusement, je n'ai rien compris. Tout d'abord, j'ai essayé de construire un JFrame Swing avec un JPanel et le bean à l'intérieur, mais rien n'a été montré à l'intérieur de la fenêtre.OOoBeans mort? - Quelles sont mes alternatives?

public class OpenOfficeGUI extends JFrame 
{ 
    private OOoBean ooBeanObj = null; 
    private OfficeConnection ooConnection = null; 

    public OpenOfficeGUI() 
    { 
     init(); 
    } 

    private void init() 
    { 
     JPanel panel = new JPanel(); 
     JButton myButton = new JButton("Arsch"); 
     ooBeanObj = new OOoBean(); 

     myButton.setSize(100, 32); 

     panel.setSize(800, 500); 
     panel.setLocation(5, 5); 
     panel.setBackground(new Color(125, 125, 125)); 
     panel.add(ooBeanObj); 
     panel.add(myButton); 
     panel.setLayout(null); 
     this.add(panel); 

     this.setSize(800, 600); 
     this.setLocation(0, 0); 
     this.setDefaultCloseOperation(EXIT_ON_CLOSE); 
    } 
} 

Ma deuxième tentative a été une application SWT, représentée à eclipsezone.com (http://www.eclipsezone.com/eclipse/forums/t48966.html). Je reçois cette chose en cours d'exécution, mais au démarrage, une "com.sun.star.comp.beans.NoConnectionException" se produit.

Mon troisième et dernier essai a été le OOoBeanViewer du OpenOffice Wiki. Par conséquent j'ai trouvé un blog post qui semble adresser la ConnectionException ci-dessus, mais il ne s'exécute pas non plus et la même Exception apparaît.

J'ai essayé aussi de démarrer manuellement OpenOffice en mode "écoute", en exécutant la commande: soffice.exe -bean -accept = pipe, name = login.name_Office; urp; StarOffice.NamingService

En fin de compte, je n'ai rien compris et j'ai remarqué qu'il n'y avait presque aucune information à jour sur OpenOffice Bean. Beaucoup de méthodes dans Officebean.jar sont également obsolètes.

Mes questions sont les suivantes:

  1. est OpenOfficeBean mort?
  2. Avez-vous des conseils sur la façon de faire fonctionner une simple intégration OpenOffice Java?
  3. est le SDK OpenOffice une alternative à intégrer OpenOffice dans une application Java Swing?
  4. connaissez-vous une sorte de source d'information continue sur le bean ou le SDK?
  5. Y a-t-il une possibilité équivalente pour LibreOffice?

Merci

Répondre

7

Après avoir fait quelques recherches, je peux donner quelques réponses à mes propres questions:

  1. OpenOffice Bean semble être assez mort. La dernière version que j'ai trouvée date de 2006 et à mon avis les derniers développements du SDO OO ne sont pas abordés. En outre, le haricot n'est pas très grand (1500 LOC), il serait donc logique de le réécrire à partir de zéro.
  2. J'ai exécuté mon application en exécutant deux étapes. Au début, j'ai changé le code et fait un manuel de connexion à une instance OO en cours d'exécution (ooBeanObj.startOOoConnection ("uno: socket, hôte = localhost, port = 2002; urp; StarOffice.ServiceManager");). Le deuxième changement consistait à utiliser une socket (soffice -bean -accept = socket, hôte = 0, port = 2002; urp;) au lieu de pipe. Mais je ne sais pas pourquoi ce changement est nécessaire.
  3. Le SDK n'est pas une alternative, car c'est la base du bean OO. Il serait possible d'améliorer ou de réécrire le bean, en utilisant les méthodes du SDK. Il semble que ce soit le meilleur endroit pour chercher des informations, bien que toutes les informations et tous les conseils ne soient pas à jour.
  4. Actuellement, le bean OpenOffice peut toujours se connecter à une instance LibreOffice (testée avec LO v.3.3.0 RC1).

Bye,
Richard

+0

Félicitations pour partage. –

1

J'utilise NOA récemment, ce qui fait la même chose que OOOBean mais semble à jour. Cela m'a permis d'intégrer assez facilement un écrivain dans un JPanel. Il gère également la découverte et la création de l'application native openoffice dans les coulisses. NOA - nice open office access