簡體   English   中英

如何修復此 JFrame 調整大小“錯誤”?

[英]How do I fix this JFrame resize "bug"?

我制作了一個 (640+200)x640 像素大的 gui。 左側是棋盤(位於 position 0,0,尺寸為 640x640。額外寬度上的 200 像素用於一些按鈕配置游戲等。

問題:

棋盤的尺寸總是必須是 8 的倍數才能完美地適應框架。 如果我稍微調整框架的大小,使其高度增加 7 個像素,則棋盤和框架之間會有一點間隙,因為不能以相等的大小繪制正方形。

有什么聰明的方法可以解決這個問題?

I assume you use Swing or AWT, using Frame or JFrame or Window or JWindow as the window you're working in.

第 1 步)將您的棋盤放入自己的JPanel中。 我們稱之為 class ChessBoardPanel

步驟 2) 將ChessBoardPanel的最小、首選和最大尺寸設置為您在其構造函數中希望的尺寸(或者如果您想檢查父級的調整大小事件並對此做出反應,則將其放入方法中,以 8px 的步長調整更大/更小的父 window。)

步驟 3) 在 Window ( window.setLayout(...) ) 中安裝一個 LayoutManager,例如BoderLayout

步驟 4) 創建 ChessBoardPanel 的新實例: ChessBoardPanel ChessBoardPanel ChessBoardPanel myChessBoardPanel = new ChessBoardPanel(parentWindow) ;

步驟 5) 將其添加到父 window,可能表示布局行為。 例如,如果您使用BorderLayout ,請在父級 window 中添加這樣的內容: this.add(myChessBoardPanel, BorderLayout.WEST); 所以它會一直顯示在左邊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM