Frage

Wie kann ich meine Java Swing GUI-Komponenten mache [Von rechts nach links] für arabische Sprache von NetBeans Desktop-Anwendung?

War es hilfreich?

Lösung

Haben Sie nicht nur verwenden:

Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

Ich glaube, dass die Swing-Komponenten alle bereits Unterstützung für RTL haben, nicht wahr?

Nicht sicher, wie / wo Sie, dass in Bezug auf Netbeans tun würde, wenn.

Andere Tipps

Der Aufruf von

 Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )

sollte es tun. Aber sicher sein, die SwingConstants zu verwenden, Vorder- und Hinter statt links und rechts in Ihrem Layout. Das gleiche gilt für GridBagConstraints.LINE_START oder ZEILE ENDE statt Westen oder Osten, und wahrscheinlich einige ähnliche Fälle, die ich vergessen zu erwähnen.

Sie könnten Ausrichtung verwenden, aber das würde die Komplexität nicht umgehen, wenn Sie englische Buchstaben oder Zahlen in Ihrem Text eingebettet haben.

Es könnte vorteilhaft sein, eine Art von formatierten Text-Widget zu verwenden oder sogar ein eingebetteten HTML / Rich-Text-Viewer.

Ich glaube nicht, dass Standard JLabels sonst die Komplexität umgehen kann.

Sie können es verwenden, wenn Sie Komponenten im Inneren Platten innerhalb contentPane haben

        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;

            }
        }
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top