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 10/12/2008 em 01:37
fonte usuário
Em outras línguas...                            


4 respostas

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 02: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 18:58
fonte usuário

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 10/12/2008 em 01:51
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 09:42
fonte usuário

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