2013-07-11 17 views
5

Ich habe den folgenden Text:.Wie erzwinge ich JTable NOT umzukehren, wenn es arabische Zeichen enthält?

وزا Wort

Aber wenn die Anzeige auf meinem JTable es sieht wie folgt aus:.

Wort وزا

In jedem JLabel oder TextArea oder jede andere Eingabe sieht wie der ursprüngliche Text aus:

Wort

NUR auf der JTable Ich habe ein solches Problem.

Es ist mir egal, ob es Sinn macht oder nicht, und ja ich weiß, dass die arabische Sprache von rechts nach links geschrieben wird. Meine Vermutung ist, dass Java es erkennt und automatisch invertiert, aber ich will es nicht.

Hinweis: Ich habe keine Ahnung, was und bedeutet, und aus praktischen Gründen ist mir egal. Es ist auch irrelevant für diesen Fall, ob oder Wort nicht sinnvoll ist und Wort. 0زا tut oder umgekehrt.

Hinweis 2: Der Text, umgekehrt oder nicht ist immer nach links ausgerichtet (wie ich es erwarte).

Vielen Dank im Voraus.

+0

Für bessere Hilfe früher, post ein [SSCCE] (http://sscce.org/). Ich nehme an, dass ein Teil des Problems darin besteht, dass es nicht wirklich Sinn macht, sowohl Textstile von links nach rechts als auch von rechts nach links zu mischen (das heißt, dass arabische Zeichen neben dem Englischen stehen?). Könnten Sie einen nicht als Tool-Tipp darstellen? –

+0

Ich bin gespannt auf den Bildschirm, der die obige Beschreibung zeigt. Kannst du es bitte teilen? – Amarnath

+0

Welche Java-Version verwenden Sie? Ein JLabel sollte diese Zeichenfolge auch mit den lateinischen Zeichen links vom arabischen Wort darstellen. – jarnbjo

Antwort

5

Bei einer Schätzung gibt Ihr Standard Locale die default renderer eine ComponentOrientation, die mit Ihren anderen Einstellungen nicht übereinstimmt. Sie könnten versuchen, einen custom renderer mit der bevorzugten Ausrichtung zu erstellen, indem Sie einen der empfohlenen Ansätze here verwenden.

Zusatz: java.text.Bidi unterstützt bidirektionale Umordnung; Sie können möglicherweise Unicode-Format-Steuercodepunkte verwenden, wie in dieser Q&A vorgeschlagen.

+0

Ich versuche dies im Moment, ohne Glück.Geht es bei der Ausrichtung nicht mehr um die Ausrichtung des Textes als um die gedruckte Ausrichtung? Ob زا. Wort oder Wort. ززا ist immer nach links ausgerichtet (wie ich es erwarte). –

+0

'java.text.Bidi' unterstützt bidirektionales Neuordnen; IIRC, das Tutorial-Beispiel 'TextComponentDemo' verwendet einen' DocumentListener', um einige Details anzuzeigen; siehe auch diese [Q & A] (http://stackoverflow.com/q/6177294/230513) .. – trashgod

+0

Sie sollten diesen letzten Kommentar als Antwort hinzufügen ... so kann ich es als gelöst markieren, weil es funktioniert hat !! Vielen Dank, Trashgod. Ich warte auf Ihre spezifische Antwort, um es als gelöst zu markieren. –