Domanda

Come posso fare il mio Java Swing componenti GUI [destra a sinistra] per la lingua araba da NetBeans applicazioni desktop?

È stato utile?

Soluzione

Non basta usare:

Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

Credo che i componenti Swing tutti già hanno il supporto per RTL, non è vero?

Non sai come / dove si farebbe che per quanto riguarda NetBeans, però.

Altri suggerimenti

Il richiamo della

 Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

dovrebbe fare il trucco. Ma essere sicuri di utilizzare i SwingConstants anteriore e posteriore invece che a sinistra e a destra nel vostro layout. Lo stesso vale per GridBagConstraints.LINE_START o LINE_END anziché a ovest oa est, e probabilmente alcuni casi simili che ho dimenticato di menzionare.

Si potrebbe usare l'allineamento, ma che non sarebbe gestire le complessità se si dispone di lettere inglesi o numeri incorporati all'interno del testo.

Potrebbe essere preferibile utilizzare una sorta di widget di testo formattato o anche un ricco visualizzatore HTML / testo incorporato.

Non credo che JLabels standard, in grado di gestire le complessità altrimenti.

si potrebbe usare se si dispone di componenti all'interno pannelli interni 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;

            }
        }
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top