2014-03-27 166 views
0

嗨,我想讓java桌面應用程序,我有4個jbutton我想設置他們左下角一個接一個我用空佈局設置它們,但我不想使用空佈局,所以如何設置j按鈕的位置?

如何我可以做到這一點嗎?

在此先感謝

ok = new JButton(s); 
     ok.setBounds(800, 725, 100, 40); 
     ok.setBackground(Color.red); 
     ok.setOpaque(true); 
     ok.setForeground(Color.BLACK); 
     c.add(ok); 

    print = new JButton("Print"); 
     print.setBounds(925, 725, 100, 40); 
     print.setBackground(Color.red); 
     print.setOpaque(true); 
     print.setForeground(Color.BLACK); 
     c.add(print); 

    next = new JButton("next"); 
    next.setBounds(400, 725, 100, 40); 
     next.setBackground(Color.red); 
     next.setOpaque(true); 
     next.setForeground(Color.BLACK); 
     c.add(next); 

    home = new JButton("home"); 
    home.setBounds(500, 725, 100, 40); 
     home.setForeground(Color.BLACK); 
     home.setBackground(Color.red); 
    home.setOpaque(true); 
     c.add(home); 
+2

選擇[可用佈局]之一(http://docs.oracle.com/javase/tutorial/uiswing/layout/index.html ),取決於你在這個JPanel上還有什麼。 – Qiu

+0

Java GUI可能需要在多種平臺上工作,使用不同的屏幕分辨率並使用不同的PLAF。因此,它們不利於組件的準確放置。要組織強大的GUI組件,請改爲使用佈局管理器或[它們的組合](http://stackoverflow.com/a/5630271/418556),以及[空白區]的佈局填充和邊框(http: //stackoverflow.com/q/17874717/418556)。 –

回答

4

排序的答案,使用layout manager

漫長的答案,像素完美的佈局是現代用戶界面設計中的一種幻覺。您無法預測用於將內容呈現到屏幕的硬件和軟件的組合,以及對組件的影響。

每個系統都可以使用不同的字體,渲染管道,DPI,硬件......等等,所有這些都將改變UI上的文本和其他元素的大小。

Swing旨在解決佈局管理器的使用問題,試圖避免大量增加工作負載,因爲您現在需要執行層管理器以及能夠檢測到發生的更改的工作你,你已經被添加到父組件......圍繞在你的代碼

看,我可以建議FlowLayoutGridBagLayout作爲可能的起點

+0

如果我使用netbeans,那麼我可以在運行時給我的jbutton名稱 – user3456343

+0

@ user3456343這與問題有什麼關係? – MadProgrammer

+0

我正在使用net beans ide創建gui,我創建了jbuuton的netbeans,但是wnt在代碼上設置了jbutton的名稱 – user3456343

-1

正如@MadProgrammer說你真的應該使用佈局經理。

但是如果你堅持這樣使用工作:

c.setLayout(null); 
+0

*「但是如果你堅持這樣工作..」* ..準備進入第7層地獄。對於..別的***使用佈局。*** –