Pregunta

¿Cómo puedo hacer que mi swing de Java componentes GUI [derecha a izquierda] para el idioma árabe de NetBeans aplicación de escritorio?

¿Fue útil?

Solución

No sólo hay que utilizar:

Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

Creo que los componentes Swing todos los que ya tienen soporte para RTL, ¿verdad?

No está seguro de cómo / dónde usted haría que, en lo que respecta a netbeans, sin embargo.

Otros consejos

La llamada de

 Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

debe hacer el truco. Pero asegúrese de usar los SwingConstants ataque y de salida en lugar de izquierda y derecha en sus diseños. Lo mismo ocurre con GridBagConstraints.LINE_START o LINE_END en lugar de oeste o al este, y probablemente algunos casos similares que se me olvidó mencionar.

Se puede usar la alineación, pero eso no sería manejar las complejidades si tiene las letras inglesas o números incrustados en el texto.

Puede ser preferible utilizar algún tipo de widget de texto con estilo, o incluso un visor de texto incrustado HTML / ricos.

No creo que JLabels estándar pueden manejar las complejidades de lo contrario.

se podría utilizar si tiene componentes internos de los paneles interiores 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;

            }
        }
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top