Java MigLabel的布局和大小固定
因此,我的程序创建了一个MigLayout GUI,并有一组JLabel,这些JLabel在创建时会显示图像。在这里,您可以看到现在的最终结果: 这些图像太大,超过了它们所包含的JPanel的大小。它只是将其创建为原始图像的大小,然后显示,然而,这显然是一个问题。有没有一种方法可以调整大小,使它能够适应GUI中的每个组件 首先,我希望确保蓝色部分不会像那样移动,我希望它保持设置的大小(高度的一半)。我还希望图像能够在保持原始图像纵横比的情况下占据最大尺寸 我试过设置JLabel的大小和首选大小,我试过一些尝试,当我告诉miglayet添加JLabel时,miglayet给它参数,这两种方法都不适用于我。我很乐意扩展JLabel并编写一些东西来修复它,但不完全确定如何进行。我知道我可以覆盖油漆,但不确定我必须实际做什么 我的JPanel设置如下:Java MigLabel的布局和大小固定,java,swing,user-interface,jpanel,miglayout,Java,Swing,User Interface,Jpanel,Miglayout,因此,我的程序创建了一个MigLayout GUI,并有一组JLabel,这些JLabel在创建时会显示图像。在这里,您可以看到现在的最终结果: 这些图像太大,超过了它们所包含的JPanel的大小。它只是将其创建为原始图像的大小,然后显示,然而,这显然是一个问题。有没有一种方法可以调整大小,使它能够适应GUI中的每个组件 首先,我希望确保蓝色部分不会像那样移动,我希望它保持设置的大小(高度的一半)。我还希望图像能够在保持原始图像纵横比的情况下占据最大尺寸 我试过设置JLabel的大小和首选大小
JPanel jpCards = new JPanel(new MigLayout("insets 0, gapx 0, gapy 0, wrap 7", "grow"));
我的卡片是在没有附加参数的情况下添加的,只需给它显示大小的图片即可创建
只是为了澄清一下,我需要更改JLabel的实际大小,而不仅仅是其中包含的内容,因为它们稍后将有鼠标侦听器。如果只更改了图像,我会遇到鼠标侦听器在JLabel中检测到自己的问题,即它看起来不应该我通过在制作JLabel之前更改图标的大小来解决这个问题 我发现,在Java中,当您创建一个给定某种映像的JLabel时,它将使JLabel的大小与给定映像的大小相匹配。因此,我没有根据原始图像创建JLabel,而是首先使用屏幕的尺寸对其进行缩放,然后用它创建JLabel 还有一些工作要做,因为我希望用户能够调整屏幕大小和图像大小。我将不得不花一些时间考虑如何调整它的大小,但这不是一个主要问题