2010-05-14 5 views
2

Y at-il une bibliothèque qui me donnerait des graphiques 2D en mettant l'accent sur le texte pour Swing. Je construis un concepteur de formulaire simple et j'ai besoin de positionner le texte correctement sur un affichage 2D. Ce serait bien s'il y avait une bibliothèque qui gérait les nouvelles lignes et éventuellement l'édition.Bibliothèque graphique 2D basée sur Swing pour le texte

Répondre

2

Une approche que j'ai utilisée avec succès dans le passé consiste à dessiner votre formulaire avec Graphics2D dans un seul panneau. Graphics2D vous donne un positionnement précis du texte et de la ligne. Lorsque vous voulez éditer le texte, demandez à l'utilisateur de cliquer sur le texte et de placer un JTextArea ou similaire dans le panneau où se trouve le texte pendant que l'utilisateur édite.

1

J'aime la réponse qui suggère d'utiliser un JTextArea lorsque l'utilisateur va éditer du texte, car c'est simple. Toutefois, si vous souhaitez effectuer une véritable modification sur place, tout en restituant exactement le contenu de votre texte, vous pouvez envisager de créer votre propre implémentation de vue pour un JEditorPane. Cela vous donne un modèle prêt à l'emploi et un contrôleur pour l'édition, vous permettant de fournir la présentation, de sorte que vous pouvez rendre aussi précisément que nécessaire. Et avec le JEditorPane.DefaultEditorKit disponible comme source, vous avez beaucoup de conseils sur la façon de mettre en œuvre votre propre vue.

Cela peut être exagéré pour vos besoins, ou il peut vous donner le niveau de contrôle nécessaire.

+0

Je peux faire l'édition, mais encore, je vois des problèmes avec l'affichage du texte sur un affichage Graphics2D. –

+0

Pouvez-vous élaborer - quels problèmes voyez-vous? De nombreux moteurs de rendu dans Swing sont construits sur Java2D - vous pouvez même utiliser les implémentations de View existantes, avec "tweaks" pour obtenir exactement ce que vous cherchez. – mdma

Questions connexes