2012-12-08 80 views
3

我有簡單的JFrame窗口,它的標題保持向右(儘管用英文寫成)。 生活在中東,而且使用的是Windows 7 的英文版本這將是對準正確的標題文字和 標題欄左端的正確方法是什麼?JFrame標題不能正確對齊

imports... 

public class MainWindow extends JFrame { 

    private JPanel contentPane; 
    private final String arr[] = {"1","2","3","4","5","6","7","8","9","10"}; 

    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        MainWindow frame = new MainWindow("The Simulator"); 

        frame.setVisible(true); 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    /** 
    * Create the frame. 
    */ 
    public MainWindow(String title) { 
     super(title); 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 582, 435); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     setContentPane(contentPane); 
     contentPane.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); 

     JButton btnRandom = new JButton("Generate new random DCSP"); 
     contentPane.add(btnRandom); 

     JButton btnManual = new JButton("Generate new manual DCSP"); 

     contentPane.add(btnManual); 
    } 

} 

使用

frame.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); 

frame.applyComponentOrientation(ComponentOrientation.getOrientation(Locale.US)); 
+0

'的Simulator'似乎離開了這臺機器上對齊,用圖示(含進口)的代碼,這似乎是['Locale'(HTTP://文檔.oracle.com/javase/7/docs/api/java/util/Locale.html)依賴? –

+0

這[L&F解決方案](http://stackoverflow.com/questions/6455831/set-jframe-or從右到左的定向)可以幫助你。 – Reimeus

回答

0

如果我沒有誤解的問題沒有幫助。您想要將標題文本對齊到不同的位置。如左,中,右?

我覺得標題欄的位置是由OS設置的。新窗口8將所有標題設置在標題欄的中心,而Windows 7則將其設置在左側。

我認爲變通這個問題是看到,標題是佔用,並通過添加空格操縱它的空間。

我想嘗試我的標題設置爲一串「AAAAAA」,看看有多少「AAAAA」沒有考慮到填滿整個標題欄,

例如,如果需要100 A的填補了我標題欄和我的寬度是100(減去圖標和按鈕),然後我知道每個字母是100/100 = 1空間。知道了,可以說我要設置標題爲Hi」並使其與最右邊的角落,我可以再補充98個空格前面的‘嗨’

1

什麼方向的標題文字對齊,真的取決於它運行的操作系統,我知道在我的計算機上,在Windows 8上,文本在中間對齊,在osx中​​也是一樣,但在Windows 7中,它在右側,This solution是一種解決方法,但我不知道這是否適用於所有的操作系​​統