我制作了 (640 200)x640 像素大的 gui。左側是一個棋盤(它位于 0,0 位置,大小為 640x640。附加寬度上的 200 像素用于一些按鈕來配置游戲等。
問題:
棋盤的尺寸總是必須是 8 的倍數才能完美地適合框架。如果我稍微調整框架的大小,使其高度增加 7 個像素,那么棋盤和框架之間就會有一點間隙,因為不能以相同的大小繪制正方形。
有什么聰明的方法來解決這個問題?
uj5u.com熱心網友回復:
我假設您使用 Swing 或 AWT,使用FrameorJFrame或WindoworJWindow作為您正在作業的視窗。
步驟 1) 將您的棋盤放入自己的JPanel. 讓我們稱之為類ChessBoardPanel。
步驟 2) 將ChessBoardPanel的最小、首選和最大尺寸設定為您希望在其建構式中的尺寸(或者,如果您想檢查父級的調整大小事件并對此做出反應,則將其放入一個方法中,以 8px 的步長進行調整以獲得更大的尺寸/較小的父視窗。)
步驟 3) 在 Window ( window.setLayout(...)) 中安裝一個 LayoutManager ,例如BoderLayout
步驟 4) 創建一個新的ChessBoardPanel:實體ChessBoardPanel myChessBoardPanel = new ChessBoardPanel(parentWindow);
步驟 5) 將其添加到父視窗,可能表示布局行為。例如,如果您使用BorderLayout,請在父視窗中像這樣添加它:this.add(myChessBoardPanel, BorderLayout.WEST);因此它將始終顯示在左側。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/386763.html
標籤:爪哇
上一篇:如何將MigLayout匯入JavaSwing專案?
下一篇:缺少Java中泛型類的型別引數?
