Java JLabel图标抵制更改
我有一个JLabel图标,我只能看到一次更改。为空时,以下代码的新设置图像将正常工作。但在那之后,图像被卡住了。没有新的图像可以取代它。当我在没有重新验证()的情况下在PanelPaint上使用“重新绘制”时,我根本看不到任何图片。这也很奇怪 这是代码,(panelMain房屋PanelPaint) 编辑:我仔细检查了图像是否每次都会更改。Java JLabel图标抵制更改,java,swing,jpanel,jlabel,Java,Swing,Jpanel,Jlabel,我有一个JLabel图标,我只能看到一次更改。为空时,以下代码的新设置图像将正常工作。但在那之后,图像被卡住了。没有新的图像可以取代它。当我在没有重新验证()的情况下在PanelPaint上使用“重新绘制”时,我根本看不到任何图片。这也很奇怪 这是代码,(panelMain房屋PanelPaint) 编辑:我仔细检查了图像是否每次都会更改。 使用JLabel.setIcon()作为标准方式,那么就没有理由在运行时删除、修改和添加新的JComponents 在某些情况下,在JLabel中重新绘制图
- 使用
作为标准方式,那么就没有理由在运行时删除、修改和添加新的JLabel.setIcon()
JComponents
- 在某些情况下,在
中重新绘制JLabel
图标出现问题(来自外部来源、www网站等),然后您必须致电
- 在几个视图中使用CardLayout,则任何操作都只是在卡片之间切换
- 在所有更改完成后,必须调用
和container.revalidate()
,作为最后一行代码container.repaint()
- 为了获得更好的帮助,请尽快发布一个简短、可运行、可编译的JFrame,其中包含JLabel
- 使用
作为标准方式,那么就没有理由在运行时删除、修改和添加新的JLabel.setIcon()
JComponents
- 在某些情况下,在
中重新绘制JLabel
图标出现问题(来自外部来源、www网站等),然后您必须致电
- 在几个视图中使用CardLayout,则任何操作都只是在卡片之间切换
- 在所有更改完成后,必须调用
和container.revalidate()
,作为最后一行代码container.repaint()
- 为了获得更好的帮助,请尽快发布一个简短、可运行、可编译的JFrame,其中包含JLabel
//get image from somewhere
JLabel imageLabel = new JLabel();
Icon imageIcon = new ImageIcon(image);
imageLabel.setIcon(imageIcon);
panelPainting.setAlignmentX(JLabel.CENTER);
panelPainting.add(imageLabel); // default center section
//my insanity starts here
panelPainting.revalidate();
panelMain.remove(panelPainting);
panelMain.revalidate();
myIcon.getImage().flush();
myLabel.setIcon(myIcon);