java设置JPanel的大小,当其中没有组件时
我有一个定制的JPanel。其中唯一的东西是使用Graphics
对象的drawRect
方法绘制一个矩形。JPanel始终是一个非常特定的正方形大小,拒绝变大或变小。试图重写getPreferredSize()
方法,但无效
尝试为此自定义JPanel设置不同的布局管理器,还尝试了承载此JPanel的JPanel的每个布局管理器。不过,定制JPanel的大小保持不变
正如我所说,定制JPanel中没有任何组件,只有一个矩形图形
有什么想法吗
# 1 楼答案
在不了解更多你想要实现的目标的情况下:
至于包含面板,您需要知道哪些布局管理器尊重首选尺寸,哪些不尊重
也就是说,如果你用一个“”NOs“”将绘制的
JPanel
包裹在一个JPanel
中,绘制的JPanel
应该随着框架的大小而拉伸此外,如果希望绘制的矩形与其
JPanel
一起拉伸,则需要记住使用getWidth()
和getHeight()
的JPanel
绘制矩形,并且不要使用硬编码值下面是一个例子,使用
BorderLayout
作为包含面板的布局,并在执行绘制时使用getWidth()
和getHeight()