无法在java中重新绘制
我无法在Jframe内动态地重新绘制()无法在java中重新绘制,java,swing,jframe,repaint,Java,Swing,Jframe,Repaint,我无法在Jframe内动态地重新绘制() public static BufferedImage createBufferedImage(BufferedImage image) { ColorModel cm = image.getColorModel(); boolean premultiplied = cm.isAlphaPremultiplied(); WritableRaster raster = image.copyData(image.getRaster(
public static BufferedImage createBufferedImage(BufferedImage image)
{
ColorModel cm = image.getColorModel();
boolean premultiplied = cm.isAlphaPremultiplied();
WritableRaster raster = image.copyData(image.getRaster());
return new BufferedImage(cm, raster, premultiplied, null);
}
public static void main(String[] args) {
BufferedImage img = new BufferedImage(old_width_i, old_height_i, BufferedImage.TYPE_INT_RGB);
img=createBufferedImage(img_white_screen);
JFrame frame=new JFrame();
JLabel label = new JLabel(new ImageIcon(img));
frame.getContentPane().add(label, BorderLayout.WEST);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
img.flush();
img=createBufferedImage(img_black_screen);
// frame.removeAll();
// frame.revalidate();
// label.removeAll();
// label = new JLabel(new ImageIcon(img));
// frame.getContentPane().add(label, BorderLayout.WEST);
frame.repaint();
}
它基本上创建了一个屏幕,其中第一个赋值为“img”(即img_white_screen),而不会更改为第二个赋值,即img_black_screen- 这,
- 不知道为什么需要暂停代码执行一秒钟
- 用于在Java中显示要使用的图像
- 到
- 不要将
或XxxImage
直接绘制到Icon/ImageIcon
,使用JFrame
或JPanel/JComponent
JLabel
- 这,
- 不知道为什么需要暂停代码执行一秒钟
- 用于在Java中显示要使用的图像
- 到
- 不要将
或XxxImage
直接绘制到Icon/ImageIcon
,使用JFrame
或JPanel/JComponent
JLabel
img=createBufferedImage(img黑屏)之后使用label.setIcon(img)
代码>。不需要重新粉刷JFrame。你想重新粉刷什么?睡在EDT上是不好的做法。这将导致不可预测的行为。在img=createBufferedImage(img黑屏)之后使用label.setIcon(img)
代码>。不需要重新粉刷JFrame。你想重新粉刷什么?睡在EDT上是不好的做法。这会导致不可预知的行为。我会尝试贴出的答案,但我之所以使用睡眠是为了让人产生旋转的感觉。。。比如说,图像是两个圆圈,有两条不同的参考线……我使用睡眠,这样用户就有了轮子旋转的错觉。。有没有更好的解决方案。。。注意:我正在手动撬动屏幕上的所有像素值screen@JS_VIPER一段时间内,我会尝试贴出的答案,但我之所以使用睡眠是为了让人有旋转的感觉。。。比如说,图像是两个圆圈,有两条不同的参考线……我使用睡眠,这样用户就有了轮子旋转的错觉。。有没有更好的解决方案。。。注意:我正在手动撬动屏幕上的所有像素值screen@JS_VIPER暂时