Πώς μπορώ να αποκτήσω ένα JEditorPane να αναδείξει όλο το πλάτος μιας γραμμής (και όχι μόνο το κείμενο);

ψήφοι
4

Προσπαθώ να πάρετε μια JEditorPane να αναδείξει το πλήρες πλάτος μιας εμφανίζεται γραμμή. Όλα τα παραδείγματα που έχω δοκιμάσει μόνο επισημάνετε το περιεχόμενο κειμένου. Για παράδειγμα, αν έχω περιεχόμενο, όπως αυτό:

 ---------------------------------
|Here is some text                |
|some more text                   |
 ---------------------------------

μέσα σε ένα JEditorPane αντιπροσωπεύεται από το παραπάνω πλαίσιο, στη συνέχεια, τονίζοντας τα πρώτα στιγμιότυπα γραμμή μόνο η «Εδώ είναι κάποιο κείμενο» (εκπρόσωπος μεταξύ [και] παρακάτω).

 ---------------------------------
[Here is some text]               |
|some more text                   |
 ---------------------------------

Θα το ήθελα να επισημάνω το πλήρες πλάτος του JEditorPane όπως τα ακόλουθα:

 ---------------------------------
[Here is some text                ]
|some more text                   |
 ---------------------------------

Υπάρχει τρόπος για να το κάνεις αυτό;

Δημοσιεύθηκε 09/12/2008 στις 18:03
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
4

Αυτό δεν φαίνεται πολύ περίπλοκη. Θα κάνουν ότι ένα μικρό κώδικα-πρόκληση .

Απλά δημιουργήστε τη δική σας προσαρμοσμένη Επισήμανση, επεκτείνοντας DefaultHighlighter.

Παράκαμψη της paint()μεθόδου, και απλά να αφήσει αμετάβλητο το πλάτος του χρώματος ορθογώνιο: θα είναι το πλάτος του πίνακα.

Θα βρείτε σε DZone Αποσπάσματα ένα πλήρες παράδειγμα : το αντιγράψετε και να το εκτελέσετε. Πείτε μου αν αυτό είναι αυτό που είναι μετά. Περιλαμβάνει την textPane.setSelectionColor(new Color(1.0f, 1.0f, 1.0f, 0.0f));προσθήκη αναφέρετε στην απάντησή σας.

alt κείμενο http://www.freeimagehosting.net/uploads/94a3a990e4.png

Απαντήθηκε 09/12/2008 στις 22:23
πηγή χρήστη

ψήφοι
1

Για να αποτραπεί επιλογή τονίζοντας από σύγκρουση με διάλυμα VonC του Ι προστίθεται η ακόλουθη γραμμή στον κατασκευαστή TextHighlight (ουσιαστικά καθιστώντας το αποκορύφωμα επιλογή αόρατο):

textPane.setSelectionColor(new Color(1.0f, 1.0f, 1.0f, 0.0f));
Απαντήθηκε 11/12/2008 στις 16:52
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more