2017-01-09 3 views
-1

D'abord, je suis novice en programmation Java. Je veux désactiver le mot-emballage dans JTextPane car il n'y a pas de telles options pour le faire contrairement à JTextArea. J'ai obtenu celui-ci solution mais je ne sais pas comment l'implémenter, comme où devrais-je le placer dans mon code?Utilisation de l'implémentation sans enveloppe dans JTextPane

Pas Wrap mise en œuvre:

public class NoWrapParagraphView extends ParagraphView { 

    public NoWrapParagraphView(Element elem) { 
     super(elem); 
    } 

    @Override 
    public void layout(int width, int height) { 
     super.layout(Short.MAX_VALUE, height); 
    } 

    @Override 
    public float getMinimumSpan(int axis) { 
     return super.getPreferredSpan(axis); 
    } 
} 

JTextArea et JScrollPane:

/*-- OTHER CODES --*/ 

JTextPane jTextPane = new JTextPane(); 
jTextPane.setContentType("text/html"); 
jTextPane.setEditable(false); 
JScrollPane jScrollPane = new JScrollPane(); 
jScrollPane.setViewportView(jTextPane); 

/*-- MORE CODES --*/ 
+0

Trouvez-vous cela? Je crois qu'il contient la réponse. http://stackoverflow.com/questions/7036543/how-is-word-wrapping-implemented-in-jtextpane-and-how-do-i-make-it-wrap-a-strin – ControlAltDel

+0

@ControlAltDel Non. D'accord, je pense que j'ai besoin d'un exemple de ceci pour que je puisse voir où le code sera placé. –

+0

* "Je pense avoir besoin d'un exemple .." * Je pense que vous avez besoin d'un tuteur ou d'un service d'assistance. Ce n'est pas l'endroit pour les personnes qui ne veulent ou ne peuvent pas essayer de mettre en œuvre des conseils. –

Répondre

1

Découvrez No Wrap Text Pane des solutions potentiellement plus simples.

Ces solutions remplacent l'interface par défaut Scrollable utilisée par JTextPane pour empêcher l'enrubannage.

+0

Hmmm, j'utilisais en fait le concepteur NetBeans donc je pense que mettre un 'BorderLayout()' va gâcher l'interface utilisateur ... Mais je vais aussi l'essayer. –

+0

J'ai donc essayé le 'public boolean getScrollableTracksViewportWidth()' en remplaçant le 'JTextPane textPane = new JTextPane()'. Cela fonctionne mais la mise en page de mon programme est juste 'pack()' ed pas 'fixed width' donc il est foiré. En passant, une solution beaucoup plus simple à ce genre de problème. Je vous remercie :) –