设置画布大小

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

tobeabee

2022-08-24

    @Override
    public Dimension getPreferredSize(){
        return new Dimension(canvasWidth,canvasHeight);
    }
    老师,这个函数可以理解为他会对画布大小进行设置并同时返回画布大小吗?我感觉跟他函数名里的get看起来不太一样
写回答

1回答

liuyubobobo

2022-08-25

可以。


我理解你的问题是,为什么这个函数叫的名字这么奇怪?什么叫 PreferredSize?


简单来说,因为 UI 布局是一件很复杂的事情,既和用户的系统的解析度有关,又和用户窗口的缩放有关,还和界面的布局(是不是要自适应?怎么自适应?)等等方面有关。所以,这个参数只是返回一个 preferred 的 size (倾向的 size)。但如果因为种种原因,这个 size 不能被满足的化,layout manager 相关的机制会对这个 size 自动做调整。


但是,在我们的应用范围里,没有这么复杂的对 layout 的设计,所以直接把它理解成画布大小就好。(实际上,如果你你做的应用的 layout 非常复杂的话,在现代,已经不建议使用 Java Swing 做 UI 了。)


继续加油!:)

0
1
tobeabee
非常感谢!
2022-08-25
共1条回复

7个经典应用诠释Java算法精髓

课程重应用、重实践、重思维,真正应用于实际工作开发中

1896 学习 · 113 问题

查看课程