2014-09-03 40 views
0

根據您的指示,我決定使用GridBagLayout的,但我也面臨着定位按鈕的問題在面板的按鈕預計將在右上,但它顯示在中心,請告訴我是什麼問題,我code`如何把按鈕位於頂部右側OG jpane

import java.awt.ComponentOrientation; 
import java.awt.EventQueue; 
import java.awt.GridBagConstraints; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.border.EmptyBorder; 

import java.awt.GridBagLayout; 

public class Test extends JFrame { 

private JPanel contentPane; 
private JButton button2; 

public static void main(String[] args) { 
    EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      try { 
       Test frame = new Test(); 
       frame.setVisible(true); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 
} 

public Test() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setBounds(100, 100, 573, 410); 
    contentPane = new JPanel(); 
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
    contentPane.setLayout(new GridBagLayout()); 
    contentPane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
    setContentPane(contentPane); 
    button2 = new JButton("button2"); 

    GridBagConstraints c = new GridBagConstraints(); 

    c.gridx = 0; 
    c.gridy = 0; 

    contentPane.add(button2, c); 

} 

} 

這個輸出 http://postimg.org/image/bhnzskznj/

+0

NetBeans IDE有一個很好的GUI編輯器,生成類似上面的代碼。 – 2014-09-03 14:14:20

回答

1

由於答案只要求一個佈局 - 它的佈局推薦時間!

我最喜歡的 - http://www.miglayout.com/這滿足我所有的佈局需要爲我的最後一個Swing項目時。 wrapspan xcenter佈局參數應該是完成圖片所需的所有操作。

+0

謝謝你,我會嘗試 – 2014-09-03 14:27:44

1

這就是爲什麼不建議使用絕對佈局。

你最好的辦法將是使用類似GridBagLayout將定位元素,然後讓他們移動的屏幕大小調整和重塑。

有很多很好的文檔和教程的在線,這將讓你開始GridBagLayout。您也可以使用內置於某些IDE中的工具(例如NetBeans有一個很好的工具)讓您以圖形方式進行佈局。

+0

謝謝,但我嘗試了更多的時間與GridBagLayout但我失敗了,我有一些困難,雖然我讀了很多教程 – 2014-09-03 14:20:16