Componentes Java GUI Swing howto vista RTL?

votos
6

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

Publicado 09/12/2008 em 23:37
fonte usuário
Em outras línguas...                            


4 respostas

votos
1

Você poderia 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 embutido HTML / rich text.

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

Respondeu 09/12/2008 em 23:51
fonte usuário

votos
8

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 tenho certeza como / onde você faria isso em relação ao netbeans, no entanto.

Respondeu 10/12/2008 em 00:17
fonte usuário

votos
5

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.

Respondeu 10/12/2008 em 16:58
fonte usuário

votos
0

você pode usá-lo se você tiver componentes no interior painéis internos 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;

            }
        }
    }
Respondeu 10/08/2014 em 07:42
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more