JAVA SwingのGUIコンポーネントは、RTLビューをHOWTO?
-
21-08-2019 - |
質問
どのように私はJavaがNetBeansのデスクトップアプリケーションからアラビア語の言語の[右から左] GUIコンポーネントをスイングすることができますか?
解決
あなただけ使用する必要はありません。
Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )
私は、彼らは、Swingコンポーネントはすべて、すでにRTLのサポートを持っていることを信じていない?
あなたがが、NetBeansのに関してでそれを行うだろうとどこか/わからない。
他のヒント
タグの呼び出し
Component.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT )
トリックを行う必要があります。しかし、あなたのレイアウトでLEFTとRIGHTを先頭と末尾の代わりSwingConstantsを使用してください。同じことが、私が言及するのを忘れてしまったGridBagConstraints.LINE_STARTまたはLINE_ENDの代わりに、WESTやEAST、そしておそらくいくつかの似たようなケースのために行く。
あなたは、アライメントを使用することができますが、あなたはあなたのテキストの中に埋め込まれた英語の文字や数字を持っている場合には、複雑さに対処しません。
スタイル、テキストウィジェット、あるいは埋め込まれたHTML /リッチテキストビューアのいくつかの並べ替えを使用することが好ましいかもしれません。
私は、標準のJLabelがそうでなければ複雑さを扱うことができるとは思いません。
あなたが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;
}
}
}
所属していません StackOverflow