2011-06-23 2 views
-1

Je travaille sur la création d'un éditeur dans le cadre d'une application JAVA lager qui permettrait à l'utilisateur de faire glisser et déposer différents composants Swing personnalisés sur un panneau (comme un éditeur graphique). Je veux aussi que l'utilisateur puisse faire pivoter ces objets avec la souris. J'ai regardé JXLayer et TransformUI, mais je ne veux pas ajouter tout un tas de bibliothèques. Des idées?Création d'un éditeur de conception de document Java

+0

Je pensais que ma question était assez spécifique. Peut-être pourriez-vous m'aider à mieux le demander. Je veux essentiellement créer un éditeur de style éditeur graphique dans mon application JAVA et je préfère ne pas inventer la roue pour scratch s'il y a une API/bibliothèque qui m'aiderait. La recherche de ceci est difficile parce que je ne veux pas qu'un éditeur d'interface graphique fasse le développement de Java, mais plutôt un éditeur d'interface graphique fait en JAVA. – MaverickXero

Répondre

2

Vous pouvez également envisager de construire votre application sur le dessus de la plate-forme NetBeans (une balançoire à base RCP) et utiliser la bibliothèque visuelle:

http://platform.netbeans.org/graph/

+0

Merci, c'est aussi proche de ce que je cherche. Juste pour le mettre là, vous n'avez pas besoin d'utiliser netBeans pour utiliser l'API Visual Library. – MaverickXero

+0

Je le pensais aussi, mais je ne pouvais plus trouver cette affirmation. – Puce

+0

Maintenant que vous m'avez indiqué le bon chemin, je tiens à mentionner que j'ai trouvé GEF dans le projet Eclipse aussi. Je pense que l'API netBeans est meilleure à ce jour. – MaverickXero

1

J'ai créé un framework de personnalisation pour de telles tâches: Déplacer et redimensionner des composants avec la souris et autoriser d'autres personnalisations. "Snap-to-grid" -fonction incluse! Peut-être que vous le trouvez utile. (Il est open source!)

j'ai commencé à écrire un tutoriel (encore en construction!):

http://softsmithy.sourceforge.net/lib/docs/tutorial/swing/customizer/index.html

Pour ajouter des composants voir:

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/CustomizerBar.html

Pour personnaliser les propriétés utilisent :

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JCustomizerPropertyTable.html

Enregistrez-le dans le gestionnaire SelectionManager de JCustomizerPane et définissez la propriété CustomizableProperties des objets JCustomizer.

Regardez également les sous-classes de JCustomizer.

E.g. il y a

customizers pour les images & formes:

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JXIconCustomizer.html

un generateur d'étiquette avec l'édition en ligne:

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLabelCustomizer.html

un generateur de ligne:

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLine2DCustomizer.html

Et il existe de nombreuses classes qui prennent en charge les actions de menu et de barre d'outils. (Cela inclut la prise en charge de certaines actions du "Référentiel graphique Java".)

Examinez les packages * .swing et * .swing.action.

Demandez-moi si vous ne les trouvez pas.

Page d'accueil:

http://www.softsmithy.org

Télécharger:

http://sourceforge.net/projects/softsmithy/files/softsmithy/

Maven:

<dependency> 
    <groupid>org.softsmithy.lib</groupid> 
    <artifactid>lib-core</artifactid> 
    <version>0.1</version> 
</dependency> 

API:

http://softsmithy.sourceforge.net/lib/docs/api/index.html

Si vous avez des questions il suffit de me demander!

+0

Ceci est très proche de ce que je cherche, merci. Est-ce que cela vous permet également de faire pivoter les composants? Je vais regarder dans ce mor, mais juste pour vous faire savoir que votre Démo WebStart semble être cassé :( – MaverickXero

+0

Oui, je sais, certains droits d'accès aux fichiers sur le serveur.Je n'ai pas trouvé le temps de résoudre ce problème, mais vous – Puce

+0

Vous voulez faire pivoter les zones de texte? Cela semble un peu étrange ... –