当前位置: 首页 > 知识库问答 >
问题:

无法在JLabel中设置图像

慕容兴贤
2023-03-14

我设计了一个简单的表格。

其中我将一个面板作为contentPane,将一个JLabel作为LBLPanel。

但是当我尝试这样做时,它只显示图像的原始大小,这是自然的,我们必须手动设置图像大小来fed整个JLabel。

因此,下面是我使用JLabel的图标属性设置图像时由WindowBuilder生成的代码。

lblPanel.setIcon(new ImageIcon(Admin_Form.class.getResource("/Icons/MouthSmile.jpg")));

现在我的问题是我想把图像的大小设置为JLabel的大小,那么有什么直接的方法可以使用WindowBuilder或者只是修改上面的行吗?

private Image img;
private ImageIcon imgicon;
private ImageIcon newimgicon;

imgicon = new ImageIcon("/Icons/MouthSmile.jpg");
img = imgicon.getImage();

newimgicon = new ImageIcon(img.getScaledInstance(lblPanel.getWidth(),lblPanel.getHeight(), Image.SCALE_SMOOTH)); 
lblPanel.setIcon(newimgicon);

我也看到了使用BufferedImage的方法,但我认为不会有什么不同,我将使用BufferedImage来调整大小或ImageIcon和Image。

共有1个答案

安星汉
2023-03-14

如果在LBLPanel添加到容器之前,并且在JFrame可见之前,试图获取LBLPanel的宽度和高度,则宽度和高度都为0。

 类似资料:
  • 我是java初学者,我用eclipse做了一个GridBagLayout: 我要使用{lblNewLabel.setText(“test”);}在{public static void main(String[]args)}或{private static set(){lblnewlabel.settext(“test”);}}但没有奏效。我该怎么办?谢谢你的帮助。

  • 我想在内部设置一个的。 我试着用 但这不起作用。我怎么能这么做?

  • null 那个代码有什么问题?我不明白为什么不能将ImageRi发送到ImageView。我还验证了我正在传递给setImageURI函数的Uri值是正确的。

  • 问题内容: 在给定的示例中,我想将文本移动到图像和形状下方。请帮我做。 在此示例中,JLable位于面板顶部。我想将其向下移动到图像/形状。 我尝试了,但是没有用。请告诉我我是否缺少什么。 问题答案: 考虑使用API​​的可用功能… 看一眼: 如何使用标签 例如…

  • 设置数据类型时: 我得到以下错误:名称“complexType”不存在于名称空间“http://www.w3.org/2001/XMLSchema”中

  • 我有一个JFrame,里面装满了JPanel(下面的代码)。 我正在使用JPanel在里面画东西,例如,我可以在任何我喜欢的地方画线,但是当添加JLabel到它的时候,我不能把它移动到它卡住的任何地方 但问题是他们建议的解决方案对我不起作用。 很抱歉,如果我不清楚,我试图在创建Surface之前和之后在函数initUI()中添加上面的内容。 但是在那之后,框架显示几乎(1,1)大小和它的空(如果我