2013-07-11 41 views
5

Tôi có văn bản sau đây:.Làm cách nào để buộc JTable KHÔNG đảo ngược văn bản trong trường hợp nó chứa ký tự tiếng Ả Rập?

وزا từ

Nhưng khi hiển thị nó trên tôi JTable nó trông như thế này:.

từ وزا

Trong mọi JLabel hoặc TextArea hoặc bất kỳ đầu vào nào khác trông giống văn bản gốc:

وزا. Từ

CHỈ trên JTable Tôi gặp phải vấn đề như vậy.

Tôi không quan tâm nếu nó có ý nghĩa hay không, và có tôi biết ngôn ngữ tiếng Ả Rập được viết từ phải sang trái. Tôi đoán là Java đang phát hiện nó và tự động đảo ngược nó, nhưng tôi không muốn nó.

Lưu ý: Tôi không biết ý tưởng وزا có nghĩa là gì và vì mục đích thực tế, tôi không quan tâm. Nó cũng không liên quan đối với trường hợp này là từ không có ý nghĩa và từ. وزا thực hiện hoặc ngược lại.

Lưu ý 2: Văn bản, đảo ngược hoặc không luôn luôn được căn chỉnh sang trái (như tôi mong đợi).

Xin cảm ơn trước.

+0

Để được trợ giúp tốt hơn sớm hơn, hãy đăng [SSCCE] (http://sscce.org/). Tôi đoán một phần của vấn đề là nó không thực sự có ý nghĩa để kết hợp cả hai phong cách văn bản trái sang phải và phải sang trái (đoán đó là .. Nhân vật bên ngoài tiếng Anh?). Bạn không thể đại diện cho một công cụ như một mẹo công cụ? –

+0

Tôi tò mò muốn xem màn hình hiển thị mô tả ở trên. Bạn có thể chia sẻ nó không. – Amarnath

+0

Bạn đang sử dụng phiên bản Java nào. Một JLabel cũng nên hiển thị chuỗi đó với các ký tự Latinh ở bên trái từ Ả Rập. – jarnbjo

Trả lời

5

Khi được đoán, mặc định Locale của bạn là cung cấp default renderer một ComponentOrientation không phù hợp với các cài đặt khác của bạn. Bạn có thể thử tạo một custom renderer có hướng ưa thích bằng cách sử dụng một trong các phương pháp được đề xuất here.

Phụ lục: java.text.Bidi hỗ trợ sắp xếp lại hai chiều; bạn có thể sử dụng các điểm mã điều khiển định dạng unicode, như được đề xuất trong số Q&A này.

+0

Tôi hiện đang cố gắng này vào lúc này, không có may mắn.Ngoài ra, không phải là định hướng thêm về sự liên kết của văn bản chứ không phải là cách nó được in? Từ khóa hoặc từ, nó luôn luôn được liên kết ở bên trái (như tôi mong đợi nó). –

+0

'java.text.Bidi' hỗ trợ sắp xếp lại hai chiều; IIRC, ví dụ hướng dẫn 'TextComponentDemo' sử dụng' DocumentListener' để hiển thị một số chi tiết; xem thêm [Hỏi & Đáp] này (http://stackoverflow.com/q/6177294/230513) .. – trashgod

+0

Bạn nên thêm nhận xét cuối cùng này làm câu trả lời ... vì vậy tôi có thể đánh dấu nó là đã được giải quyết vì nó đã hoạt động !! Cảm ơn bạn rất nhiều thùng rác. Tôi sẽ chờ đợi câu trả lời cụ thể của bạn để đánh dấu nó là giải quyết. –