调用此方法后,JFrame未显示(Who抛出IOException)

时间:2017-04-30 10:04:56

标签: java jframe ioexception

我有这个java JFrame来显示当前时间和日期。 Here是截图。 但我已经做了另一种方法来做一些技巧(将文件从目录复制到我电脑上的另一个目录)。我知道这很愚蠢,但我需要一个项目。我在method中调用此class constructor。当我打电话时,JFrame将不会显示。但是方法内部的进程没有任何问题。

以下是名为 processOne()的方法的代码示例以及方法 copyCompleted(),该方法已在方法 processOne() <内部调用/ p>

private static void processOne() throws IOException {
    final String directoryWindows = "C:\\Users\\Core i3\\Desktop\\Check me";
    File directory = new File(directoryWindows);
        File[] fList = directory.listFiles();     
        for (File file : fList) {
            if ((file.isFile() && file.getName().endsWith(".jpg")) || (file.isFile() && file.getName().endsWith(".jpeg")) || (file.isFile() && file.getName().endsWith(".gif")) || (file.isFile() && file.getName().endsWith(".png"))) {
                File source = new File(file.getPath());
                File dest = new File("C:\\Users\\Core i3\\Desktop\\Banu\\" + file.getName());
                if (dest.exists() == false) {
                    Files.copy(source.toPath(), dest.toPath());
                    copyCompleted(dest.toString());
                } else {
                    System.out.println("Exists");
                }
            } else if (file.isDirectory()) {
                file.getAbsolutePath();
            } else {
           System.out.println("ELSE");
                File source = new File(file.getPath());
                File dest = new File("C:\\Users\\Core i3\\Desktop\\Banu\\" + file.getName());
                if (dest.exists() == false) {
                    Files.copy(source.toPath(), dest.toPath());
                    copyCompleted(dest.toString());
                } else {
                    System.out.println("Exists");
                }
            }
        }
        System.out.println("Finished!");
        jButton1.setForeground(Color.blue);
}

这是“ copyCompleted(String filePath)”方法。

public static void copyCompleted(String filePath) {

        String fileStr = filePath;
        File ff = new File(fileStr);

        boolean copyCompleted = false;

        if (ff.exists()) {

            while (true) {

                RandomAccessFile ran = null;

                try {
                    ran = new RandomAccessFile(ff, "rw");
                    copyCompleted = true;
                    break;
                } catch (Exception ex) {
                    System.out.println("  still copying ........... " + ex.getMessage());
                } finally {
                    if (ran != null) {
                        try {
                            ran.close();
                            //System.out.println("End");
                        } catch (IOException ex) {

                        }
                    }

                    ran = null;
                }

            }

            if (copyCompleted) {
                System.out.println("Copying");
                jButton1.setForeground(Color.green);

            } else {
                System.out.println("false");
            }
        } else {
            System.out.println("No exists");
        }
        //System.out.println("End2");
    }

►因为我正在调用我的方法“ processOne()”,我的程序的“主要方法”会显示警告以放置{{1}所以我这样说。

try-catch

任何人都可以告诉我我的编码有什么问题吗?

**一切正常,但public static void main(String args[]){ //look and feel setting code is here java.awt.EventQueue.invokeLater(new Runnable() { public void run() { try { ClockTime dialog = new ClockTime(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } catch (IOException ex) { Logger.getLogger(ClockTime.class.getName()).log(Level.SEVERE, null, ex); } } }); } 没有出现:(

0 个答案:

没有答案