2012-08-07 17 views
0

我只是想通過setBounds方法放置我的JButton。但是無論這種方法的參數如何,按鈕都位於頂部中間。忽略setbounds

這是我的代碼:

import javax.swing.JButton; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 

class Panneau_fenetre1A extends JPanel      
{ 
    JButton boutonOK = new JButton ("OK"); 


    public Panneau_fenetre1A(int Na) 
    { 
     boutonOK.setBounds(300,300,30,30); 
     add(boutonOK); 

    } 

} 

回答

1

按鈕也將取決於您目前正在使用的佈局位置。這裏有一個Vusual Guide to Layout來幫助你決定你的需求的最佳佈局。

0

隨着setLayout(null),它的工作原理!

+0

取決於您的意思_works_ :-)在Swing中,您應該永遠不會使用空佈局。相反,學習使用LayoutManagers並選擇適合您需求的佈局管理器 – kleopatra 2012-08-09 14:43:13

0

您正在擴展JPanel,因此使用JPanel的默認構造函數,並且無論出於何種原因,默認的LayoutManager都是FlowLayout! 所以,如果你真的想使用NullLayout你可以添加到您的類:

public Panneau_fenetre1A() 
    { 
    super(null); 
    } 

但認真考慮其他佈局管理器,例如BorderLayoutManager(超(新的BorderLayout()))是一個良好的開端。

設計對話框時,請記住,您可以並且應該嵌套您的佈局:一個JPanel在另一個JPanel內(例如BorderLayout內的GridLayout)。請注意:「良好」對話框應該正確調整大小,以便如果用戶調整幀大小,則希望自動擴展信息對象(如表格),而不顯示大面積的JPanel背景。這是NullLayout無法實現的。