java - 在小程序中绘制图像

标签 java image swing paint japplet

我在小程序中绘制图像时遇到问题。我想在小程序中一张一张地显示所有图像,但它只显示下面给出的代码的文件夹的最后一张图像。

public class ImageInSwingTest extends JApplet
{
    String filePath="C:\\Users\\yogi\\Pictures\\pictures"; //all .png files more than 200 files
    String files;
    File folder=new File(filePath);
    File[] listOfFiles;
    Image m;

    @Override
    public void init()
    {
        listOfFiles=folder.listFiles();
        for(int i=0;i<listOfFiles.length;i++)
        {
            if(listOfFiles[i].isFile())
            {
                files=listOfFiles[i].getName();
                if(files.endsWith(".png"))
                {
                    String filepath=listOfFiles[i].getAbsolutePath();
                    System.out.println(filepath);
                    try {
                         m = ImageIO.read(new File(filepath));
                        paint(ImageInSwingTest.this.getGraphics());

                    } catch (IOException ex) {
                        Logger.getLogger(ImageInSwingTest.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }

        }
    }
    public void paint(Graphics g)
    {
        g.drawImage(m, 0, 0, this);

    }

}

那么,请谁能告诉我如何一张一张地显示所有图像? 谢谢。

最佳答案

so, please can any one tell me how can i display all images one by one.? Thanks.

  • 因为 for(int i=0;i<listOfFiles.length;i++) 内的每个循环替换JApplet的内容

  • 输入JPanelJApplet

  • 输入ImagesIcon[] 的数组

  • 输入IconJLabel

  • 使用GridLayout用于放置JLabelIconsJPanel

  • 不要绘制 JApplet直接使用JPanelJComponent使用覆盖方法 paintComponent()而不是paint()

编辑

actually i want all images to replace each other so all images are look like playing movie

  • 您必须通过 Thread.sleep(int); 暂停此过程

  • 您可以使用Thread.sleep(int);里面SwingWorkerRunnable#Thread ,

  • 不要使用Thread.sleep(int); Swing GUI 中的其他方式,因为要阻塞事件调度线程,并且可能不会绘制任何内容或仅绘制最后一个图像

  • Runnable#Thread会更好、更简单,但是 Runnable#Thread 的任何输出对于 Swing GUI,您必须包装 JLabel.setIcon(myIcon)invokeLater

关于java - 在小程序中绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10717006/

相关文章:

image - Delphi 7,加载PNG到TImage

Java ImageIcons 和 Action 监听器

java - 如何通过 Silk Test Classic 自动化 Java Swing 应用程序?

java - 我可以在 iPhone 的网络浏览器上运行嵌入网页的 Java Applet 吗?

java - Android:将JSON对象值转换为指定类

java - 配置 Activemq Web 控制台以使用 LDAP 进行授权和身份验证

java - Java 服务器页面中的 Sqlite JDBC

php - 在数据库列中保存图像 url 路径

CSS 下拉菜单 - 如何添加缩略图

Java Swing 对话框按钮和图标