繁体   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