que fillers componentes caracteristicas java swing right-to-left

fillers - Componentes de JAVA Swing GUI ¿cómo ver RTL?



swing containers (4)

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


podrías usarlo si tienes componentes dentro de paneles dentro de 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; } } }


La llamada de

Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

debería hacer el truco. Pero asegúrese de utilizar SwingConstants LEADING y TRAILING en lugar de IZQUIERDA y DERECHA en sus diseños. Lo mismo ocurre con GridBagConstraints.LINE_START o LINE_END en lugar de WEST o EAST, y probablemente algunos casos similares que olvidé mencionar.


No solo tienes que usar:

Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

Creo que los componentes swing ya tienen soporte para RTL, ¿no?

Sin embargo, no estoy seguro de cómo / dónde haría eso en lo que respecta a netbeans.


Podría usar la alineación, pero eso no resolvería las complejidades si tiene letras o números en inglés incrustados en su texto.

Podría ser preferible utilizar algún tipo de widget de texto con estilo o incluso un visor de texto enriquecido / HTML enriquecido.

No creo que los JLabel estándar puedan manejar las complejidades de lo contrario.