我正在構建一個程序並在多個操作系統上對其進行處理。 Windows 10和Windows 7.當我爲Windows 10或Windows 7正確設置最小大小時,它適用於該操作系統,但會混淆其他操作系統。有沒有辦法讓setMinimumSize調整邊界厚度?或者有沒有辦法獲得該操作系統邊框的厚度?或者有沒有辦法將JFrame的最小尺寸設置爲打開時的大小?任何幫助表示讚賞。謝謝。如何設置JFrame的最小尺寸並調整框架厚度?
0
A
回答
4
請勿設置最小尺寸。佈局經理的工作是確定組件的大小。佈局管理器將在所有操作系統上完成它的工作。
所有你需要做的就是將組件添加到您的面板/幀,然後使用:
frame.pack();
frame.setVisible();
的pack()
方法調用佈局管理器,以便所有的組件將是適當的大小。
閱讀有關Layout Managers的Swing教程的部分以獲取更多信息和工作示例。我建議你將教程加入書籤,以便教程所有Swing基礎知識。
我不希望用戶能夠設置框架的大小低於一定的大小。
當一個應用程序告訴我我可以製作框架有多小(大)時,這是非常煩人的。桌面是我的空間,如果我想讓它變小(更大),那麼你不應該在意。如果我缺少信息,我可以稍後將框架放大(更小)。您的框架設計應該靈活以允許調整大小。
在任何情況下,你可以通過做類似設置最低:
frame.pack();
frame.setVisible();
frame.setMinimumSize(frame.getSize());
-1
我只是碰到了使用Java 8 MacOS的這樣一個問題,我希望用戶能夠調整窗口的大小,但服從由佈局管理器計算的最小尺寸。不幸的是,控制窗口大小的AWT代碼只有在明確設置的情況下才會查看最小大小。
這是我提出的解決方案。我重寫在框架上的doLayout()方法:
@Override
public void doLayout()
{
super.doLayout();
LayoutManager m = getLayout();
if (m != null) {
Dimension d = m.minimumLayoutSize(this);
setMinimumSize(d);
}
}
現在,每次佈局重新計算時間,新的最小大小被緩存爲一個明確的設定值,讓AWT會注意它。
相關問題
- 1. 如何設置JFrame的最大尺寸?
- 2. 如何調整JFrame相對於最大尺寸的大小
- 3. 設置框架的尺寸
- 4. 設置JFrame的最大尺寸
- 5. JAVA設置JFrame的最大尺寸
- 6. 如何調整Java中的JFrame邊框厚度
- 7. 如何設置背景尺寸的最小寬度
- 8. 設置CollectionView的框架尺寸
- 9. 如何設置TinyMCE的最小調整大小寬度/高度?
- 10. 設置JInternalFrame的最小尺寸
- 11. 設置表格的最小尺寸
- 12. java:如何調整包含圖像的框架的尺寸
- 13. 如何調整任何屏幕尺寸的JFrame和JInternal幀?
- 14. 我想我的JFrame調整其尺寸,並保持按鈕的大小不變
- 15. 設置打印紙張尺寸的最小高度?
- 16. 如何在Android中爲ImageView設置最小和最大尺寸
- 17. dijit /對話框設置小窗口尺寸的高度
- 18. 如何爲不同的屏幕尺寸設置按鈕框架
- 19. Java:如何將.gif設置爲與框架相同的尺寸
- 20. 可以設置進度對話框的尺寸(寬度),以及如何設置?
- 21. 如何在固定尺寸的框內按高度調整圖像並在上傳後保持圖像尺寸
- 22. 如何設置Vim的最小分割尺寸
- 23. 如何設置一個xulrunner主窗口的最小尺寸?
- 24. 如何在fxml中設置容器的最小尺寸
- 25. 如何在wxRuby中設置窗口的最小尺寸
- 26. 設置QBoxLayout最大尺寸?
- 27. 如何阻止框架大小調整JFrame擺動SeaGlass L&F
- 28. 大小調整到最小尺寸圖像中的回形針
- 29. 爪哇 - 如何讓JFrame的調整大小僅比設定尺寸更小的東西
- 30. 動態設置畫布尺寸時文檔高度增加調整大小
我這樣做是爲了初步設置大小,但是對於程序的持續時間,我不希望用戶能夠將幀的大小設置爲低於特定大小。 –
@GnarlyNwwhal,見編輯... – camickr
好的,謝謝。我將它設置爲最小尺寸的原因是因爲我創建的遊戲是一個集合尺寸。它爲所有的精靈使用了BufferedImages,所以我沒有辦法讓它在java中擴展它們。如果您對如何使這一點更好有任何想法,我會非常感激。 –