所以我的程序创建一个MigLayout GUI并包含了许多的创作上给出图像的JLabel。在这里你可以看到最后的结果是什么,现在:MigLayout的JLabel和固定大小
的图像是太大了,去了他们包含在JPanel的大小很简单,就是创造它是大小原始图像是,然后显示,但是,这显然是一个问题。有没有一种方法可以修复大小,以便它能够适合GUI中的每个组件?对于初学者,我想确保蓝色部分不会像那样移动,我希望它保持它设置为(一半高度)的大小。我还希望图像在保持原始图像纵横比的情况下占用最大尺寸。
我试过设置JLabel的大小和首选大小,我试着用MigLayout给它一些参数,当我告诉它添加JLabel时,它们都没有为我工作。我很喜欢扩展JLabel并写一些东西来解决它的想法,但并不完全知道如何去做。我知道我可以覆盖油漆,但不知道我真的要做什么。无需额外的参数被添加和创建
JPanel jpCards = new JPanel(new MigLayout("insets 0, gapx 0, gapy 0, wrap 7", "grow"));
我的卡只是通过给它们显示的大小的图片:
我的JPanel设定如下。
为了澄清,我需要改变实际的JLabel的大小,而不仅仅是内部包含的内容,因为他们稍后会有鼠标监听器。如果只有图像发生了变化,我将遇到鼠标侦听器在JLabel内部检测到的问题,它看起来不像它应该是