它是通過使用setLocation還是通過佈局?你能給我一些建議嗎?我如何輕鬆地將Swing組件放置在框架中?什麼方法可以很容易地在java中放置組件?
0
A
回答
2
請參閱http://java.sun.com/docs/books/tutorial/uiswing/layout/none.html在Swing中進行絕對定位:)但是,大多數情況下,您會避免這種情況並使用合適的佈局管理器。爲此,我建議您使用MigLayout這是一個非常強大的佈局管理器(易於直接在代碼中指定佈局),或者使用UI設計器Mattise,它使用GridBagLayout並自動將.java文件寫入您的插入點自己的代碼,用於響應UI事件等。
alt text http://i.d.com.com/i/dl/media/dlimage/10/58/06/105806_large.jpeg
MigLayout例如:
JPanel p = new JPanel(new MigLayout("", "[right]"));
p.add(new JLabel("General"), "split, span, gaptop 10");
p.add(new JSeparator(), "growx, wrap, gaptop 10");
p.add(new JLabel("Company"), "gap 10");
p.add(new JTextField(""), "span, growx");
p.add(new JLabel("Contact"), "gap 10");
p.add(new JTextField(""), "span, growx, wrap");
p.add(new JLabel("Propeller"),"split, span, gaptop 10");
p.add(new JSeparator(), "growx, wrap, gaptop 10");
p.add(new JLabel("PTI/kW"), "gap 10");
p.add(new JTextField(10), "");
p.add(new JLabel("Power/kW"), "gap 10");
p.add(new JTextField(10), "wrap");
p.add(new JLabel("R/mm"), "gap 10");
p.add(new JTextField(10), "wrap");
p.add(new JLabel("D/mm"), "gap 10");
p.add(new JTextField(10));
0
推薦的方法是使用佈局管理器將組件定位到容器中。優點是佈局管理器將提供調整大小或重新定位彼此相鄰的組件的功能,因爲容器調整大小。
自己編寫所有這些行爲是沒有必要的。
0
肯定要用到佈局管理器,從此以後你有足夠的靈活性來處理的事情等,這取決於平臺不同的佈局(影響按鈕的大小)和字體尺寸。如果您想要構建可訪問的應用程序,後者非常重要,因爲某些用戶在查看小文本時遇到問題,因此將全局乘數應用於字體大小。另外一個好處是你可以輕鬆應對整個窗口的大小調整。
但是請避免GridBagLayout
。它功能強大,但需要大量的工作才能使其不至於勉強,以至於從零開始編寫自己的專家版面更容易...
相關問題
- 1. 有什麼方法可以將圖形存儲在數據庫中,因此它很容易穿過?
- 2. 有什麼方法可以在C#中配置文件?
- 3. 哪種方法可以更容易地用hadoop和hive設置ec2集羣?
- 4. Winforms的替代方案,可以很容易地與C#和.NET一起使用
- 5. 哪個第三方購物車可以很容易地與MODX Revolution整合?
- 6. 有什麼方法可以在Windows Media Control中重放視頻?
- 7. 爲什麼有2個地方可以在php.ini中設置session.cookie_lifetime
- 8. 爲什麼一個方法可以很好地工作,但如果我把它放在dispatch_async裏面會崩潰?
- 9. 他們有什麼方法可以在不使用src的情況下在IFRAME中放置內容
- 10. 有沒有什麼方法可以在require.js中動態地設置baseurl?
- 11. 是否可以更容易地組合功能?
- 12. 有什麼方法可以有條件地設置或編碼斷點?
- 13. 在java中可以使用readObject方法的替代方法是什麼?
- 14. 什麼組件可以在反應本機中設置樣式?
- 15. 爲什麼方法很慢?
- 16. 在ASP.NET Core中,有沒有什麼方法可以從Program.cs設置中間件?
- 17. 哪裏可以很容易地找到C標準函數原型
- 18. WPF/Silverlight的:我可以很容易地修改,我綁定的屬性?
- 19. 我可以在beforeUnload中放入什麼?
- 20. 有什麼方法可以在Sikuli上繪製地圖?
- 21. 什麼可以使這個dsl更容易輸入或閱讀?
- 22. 有沒有什麼方法可以在html中查看文件?
- 23. 我可以在Codename One的容器或WebBrowser組件中放置廣告嗎?
- 24. 有沒有什麼方法可以重用java 8中的Stream?
- 25. 有什麼方法可以計算java中的指令數
- 26. 其中java http客戶端庫很容易使用編程方式做帖子,設置cookie和可能ajax?
- 27. 很容易htaccess的重定向工作以相反的方式
- 28. 的Javascript 3D庫,可以很容易使用
- 29. 多少記錄,我們可以在asp.net樹形控件很容易地從服務器端在頁面加載
- 30. 有什麼地方可以獲得可重複使用的擺動「組件」?
這是在AWT,Swing,SWT還是其他? – 2010-03-26 23:27:41
這是一個鞦韆 – LockOn 2010-03-26 23:32:42