我正在使用包含带图标的JLabel的JPanel。我正在使用JLabel上的ComponentAdapter在调整JLabel大小时从控制器(使用MVC模式)请求正确大小的缩略图。当JLabel的大小调整为比以前更大时,这样可以正常工作,因此它填充了JLabel大小的ImageIcon。但是,当调整窗口大小时,它根本不会调整JLabel的大小(因为图标的大小,我假设)。
是否可能有一些布局管理器或设置使JLabel忽略其内容(ImageIcon)并自行调整大小?我的意思是,它可以截断文本,因此它应该能够在调整较小时显示部分图像。
答案 0 :(得分:2)
尝试使用setPreferredSize()
和setMinimumSize()
进行试验,以确保JLabel
允许自身缩小到所需的大小。您还需要仔细检查您正在使用的LayoutManager
类型以及在将组件添加到面板时使用的约束(如果有)。如果可以,请尝试使用其他布局管理器。如果这些都不起作用,那么将需要提供一些示例代码。