Pergunta

Como posso fazer meu java swing GUI Components [direita para a esquerda] para a língua árabe do NetBeans Aplicação Desktop?

Foi útil?

Solução

Você não apenas tem que usar:

Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

Eu acredito que os componentes swing todos já têm suporte para RTL, não é?

Não sei como / onde você faria isso em relação ao netbeans, no entanto.

Outras dicas

A chamada de

 Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

deve fazer o truque. Mas não se esqueça de usar os SwingConstants esquerda e à direita, em vez de esquerda e direita em seus layouts. O mesmo vale para GridBagConstraints.LINE_START ou LINE_END vez de WEST ou EAST, e provavelmente alguns casos semelhantes que eu esqueci de mencionar.

Você pode usar o alinhamento, mas isso não iria lidar com as complexidades se você tem letras em inglês ou números embutidos dentro do seu texto.

Pode ser preferível usar algum tipo de widget de texto com estilo ou mesmo um visualizador de texto HTML incorporado / rico.

Eu não acho que JLabels padrão pode lidar com as complexidades de outra forma.

você poderia usá-lo se você tiver componentes dentro painéis dentro 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top