设置画布大小
来源:2-3 设置画布与图形绘制基础

tobeabee
2022-08-24
@Override
public Dimension getPreferredSize(){
return new Dimension(canvasWidth,canvasHeight);
}
老师,这个函数可以理解为他会对画布大小进行设置并同时返回画布大小吗?我感觉跟他函数名里的get看起来不太一样
写回答
1回答
-
可以。
我理解你的问题是,为什么这个函数叫的名字这么奇怪?什么叫 PreferredSize?
简单来说,因为 UI 布局是一件很复杂的事情,既和用户的系统的解析度有关,又和用户窗口的缩放有关,还和界面的布局(是不是要自适应?怎么自适应?)等等方面有关。所以,这个参数只是返回一个 preferred 的 size (倾向的 size)。但如果因为种种原因,这个 size 不能被满足的化,layout manager 相关的机制会对这个 size 自动做调整。
但是,在我们的应用范围里,没有这么复杂的对 layout 的设计,所以直接把它理解成画布大小就好。(实际上,如果你你做的应用的 layout 非常复杂的话,在现代,已经不建议使用 Java Swing 做 UI 了。)
继续加油!:)
012022-08-25
相似问题