JAVA مكونات سوينغ واجهة المستخدم الرسومية كوميديا ​​عرض RTL؟

StackOverflow https://stackoverflow.com/questions/354745

  •  21-08-2019
  •  | 
  •  

سؤال

وكيف يمكنني أن أجعل جافا سوينغ مكونات واجهة المستخدم الرسومية [من اليمين إلى اليسار] للغة العربية من نتبيانس تطبيقات سطح المكتب؟

هل كانت مفيدة؟

المحلول

ولا يكون لديك فقط لاستخدام:

Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

وأعتقد أن المكونات البديل عن ديها بالفعل دعم RTL، أليس كذلك؟

ولست متأكدا كيف / أين كنت تفعل ذلك في ما يخص نتبيانس، وإن كان.

نصائح أخرى

وهذه الدعوة من

 Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

وينبغي أن تفعل خدعة. لكن يجب التأكد من استخدام SwingConstants البادئة والزائدة بدلا من اليسار واليمين في التصاميم الخاصة بك. الشيء نفسه ينطبق على GridBagConstraints.LINE_START أو LINE_END بدلا من WEST أو EAST، وربما بعض الحالات المماثلة التي نسيت أن أذكر.

هل يمكن استخدام المحاذاة، ولكن ذلك لن التعامل مع التعقيدات إذا كان لديك الأحرف الإنجليزية أو الأرقام المضمنة في النص.

قد يكون من الأفضل استخدام نوع من القطعة نص نصب أو حتى جزءا لا يتجزأ من HTML / غني نص المشاهد.

وأنا لا أعتقد أن JLabels معيار يمكن التعامل مع تعقيدات غير ذلك.

هل يمكن استخدامها إذا كان لديك عناصر داخل لوحات داخل contentPane

        Component[] component = contentPane.getComponents();
    for(int i=0; i<component.length; i++){
        component[i].applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        Component[] cp = ((Container) component[i]).getComponents();
        for(int j=0; j<cp.length; j++){
            try{
                ((Component) ((JComboBox) cp[j]).getRenderer()).applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
            }catch(Exception e){
                continue;

            }
        }
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top