1
我與ComponentOrientation.RIGHT_TO_LEFT
的問題是,諸如'/'或'!'之類的字符要麼 '。'顯示在左側。文本區域右側的Java顯示文本
我只需要從右向左繪製文本,但使用標準,西方,英文左到右的符號表示文本字符。
這可能沒有手動呈現文本?
我與ComponentOrientation.RIGHT_TO_LEFT
的問題是,諸如'/'或'!'之類的字符要麼 '。'顯示在左側。文本區域右側的Java顯示文本
我只需要從右向左繪製文本,但使用標準,西方,英文左到右的符號表示文本字符。
這可能沒有手動呈現文本?
我不能生成你的問題,請你用我的SSCCE來顯示在左邊。
從代碼
import java.awt.ComponentOrientation;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;
public class RightToLeft {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
JTextArea text = new JTextArea(10, 5);
text.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
text.setText("one/\n "
+ "!two\n"
+ ".three\n"
+ "/four\n"
+ "five!\n"
+ "six.\n"
+ "seven\n"
+ "eight\n");
JScrollPane pane = new JScrollPane(text);
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("العنوان بالعربي");
frame.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
frame.add(pane);
frame.pack();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
嘗試調用setAlignmentX(Component.RIGHT_ALIGNMENT)
文本字段。
OP希望像''one /''這樣的文本顯示爲右對齊,但是按照從左到右的順序排列。 – 2012-03-11 22:03:53
我得到它使用JTextField.setHorizontalAlignment(JTextField.RIGHT) – bgroenks 2012-03-12 00:58:08