PDF专用的文件浏览器

奥斯汀·法里斯(Austin Farris)

我正在使用PDF专用的文件浏览器,并且由于堆栈溢出的帮助,我取得了很多进步,我的代码又遇到了一个问题。我已经完成了使此文件浏览器起作用所需的所有元素,但是两个类无法正常通信。这是我的代码包pdfView;

import java.io.*;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.filechooser.*;

public class FileChooser2 extends JPanel implements ActionListener {

     static private final String newline = "\n";
        JButton openButton, saveButton;
        JTextArea log;
        JFileChooser fc;

        public FileChooser2() {
            super(new BorderLayout());

            log = new JTextArea(5,20);
            log.setMargin(new Insets(5,5,5,5));
            log.setEditable(false);
            JScrollPane logScrollPane = new JScrollPane(log);

            //Create a file chooser
            fc = new JFileChooser();

            //Create the open button.
            openButton = new JButton("Open a File...");
            openButton.addActionListener(this);

            JPanel buttonPanel = new JPanel(); 
            buttonPanel.add(openButton);

            //Add the buttons and the log to this panel.
            add(buttonPanel, BorderLayout.PAGE_START);
            add(logScrollPane, BorderLayout.CENTER);
        }

        public void actionPerformed(ActionEvent e) {

            //Handle open button action.
            if (e.getSource() == openButton) {
                int returnVal = fc.showOpenDialog(FileChooser2.this);

                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = fc.getSelectedFile();
                    log.append("Opening: " + file.getName() + "." + newline);
                } else {
                    log.append("Open command cancelled by user." + newline);
                }
                log.setCaretPosition(log.getDocument().getLength());
            }
        }

        protected static ImageIcon createImageIcon(String path) {
            java.net.URL imgURL = FileChooser2.class.getResource(path);
            if (imgURL != null) {
                return new ImageIcon(imgURL);
            } else {
                System.err.println("Couldn't find file: " + path);
                return null;
            }
        }
        private static void createAndShowGUI() {
            //Create and set up the window.
            JFrame frame = new JFrame("PDF Viewer");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            //Add content to the window.
            frame.add(new FileChooser2());

            //Display the window.
            frame.pack();
            frame.setVisible(true);
        }

        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    UIManager.put("swing.boldMetal", Boolean.FALSE);
                    createAndShowGUI();
                } 
            });
        }
        public class pdfFilter {
            //PDF Filter using extension
             public boolean accept(File f) {
                 if (f.isDirectory()){
                    return true;
                }
                String extension = Utils.getExtension(f);
                if (extension != null) {
                    if (extension.equals(Utils.pdf)){
                        return true;
                    } else {
                        return false;
                    }
                }
                return false;
            }

        }
    }

这是应该设置pdf过滤器的utils.java类

package pdfView;
import java.io.File;


public class Utils {
    //get file name work with pdfFilter.java
    public final static String pdf = "PDF";

    public static String getExtension(File f) {
        String ext = null;
        String s = f.getName();
        int i = s.lastIndexOf('.');

        if (i > 0 && i < s.length() - 1) {
            ext = s.substring(i+1).toLowerCase();
        }
        return ext;
    }

}
再次Yulzary

更改此行:

extension.equals(Utils.pdf)...

到:

extension.equalsIgnoreCase(Utils.pdf)

您正在将“ pdf”与“ PDF”进行比较。这是一个ascii比较。如果要进行字母数字比较,请使用上面的代码:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android浏览器中打开pdf文件?

来自分类Dev

使用PHP在浏览器中预览PDF文件

来自分类Dev

如何在浏览器中设置PDF文件的标题?

来自分类Dev

在浏览器中查看pdf文件,而不是下载

来自分类Dev

如何使用Web浏览器对象显示pdf文件

来自分类Dev

如何在android浏览器中打开pdf文件?

来自分类Dev

PDF文件无法在浏览器中正确显示

来自分类Dev

文件浏览器列中的PDF元数据

来自分类Dev

Chrome浏览器在小窗口中打开pdf文件

来自分类Dev

如何使用Python在浏览器中预览pdf文件?

来自分类Dev

Flask:强制下载pdf文件以在浏览器中打开

来自分类Dev

AngularJS文件浏览器

来自分类Dev

Java文件浏览器

来自分类Dev

AngularJS文件浏览器

来自分类Dev

从服务器文件系统中的文件加载pdf浏览器?

来自分类Dev

Laravel - pdf 文件的响应返回奇怪的文本,而不是在浏览器中显示 pdf

来自分类Dev

PDF 无法在 Web 浏览器上正确打开远程文件夹上的文件

来自分类Dev

如何从浏览器保存.pdf?

来自分类Dev

在浏览器上显示PDF

来自分类Dev

如何从浏览器保存.pdf?

来自分类Dev

在浏览器中查看 pdf 流

来自分类Dev

能够创建pdf文件的PDF.js或只是使PDF文件显示在网络浏览器中的功能?

来自分类Dev

C#多Web浏览器专用模式。每个Web浏览器都采用一种形式

来自分类Dev

PDF文件在使用express.js的浏览器中下载不正确(损坏)

来自分类Dev

如何保存在没有URL的浏览器窗口中弹出的.pdf文件?

来自分类Dev

嵌入标签未在移动浏览器上显示pdf文件

来自分类Dev

Spring-在浏览器中显示PDF文件而不是下载

来自分类Dev

如何从Amazon S3以PDF格式读取文件流并在浏览器中显示

来自分类Dev

加载PDF文件/ URL在Safari浏览器中显示黑屏

Related 相关文章

  1. 1

    如何在Android浏览器中打开pdf文件?

  2. 2

    使用PHP在浏览器中预览PDF文件

  3. 3

    如何在浏览器中设置PDF文件的标题?

  4. 4

    在浏览器中查看pdf文件,而不是下载

  5. 5

    如何使用Web浏览器对象显示pdf文件

  6. 6

    如何在android浏览器中打开pdf文件?

  7. 7

    PDF文件无法在浏览器中正确显示

  8. 8

    文件浏览器列中的PDF元数据

  9. 9

    Chrome浏览器在小窗口中打开pdf文件

  10. 10

    如何使用Python在浏览器中预览pdf文件?

  11. 11

    Flask:强制下载pdf文件以在浏览器中打开

  12. 12

    AngularJS文件浏览器

  13. 13

    Java文件浏览器

  14. 14

    AngularJS文件浏览器

  15. 15

    从服务器文件系统中的文件加载pdf浏览器?

  16. 16

    Laravel - pdf 文件的响应返回奇怪的文本,而不是在浏览器中显示 pdf

  17. 17

    PDF 无法在 Web 浏览器上正确打开远程文件夹上的文件

  18. 18

    如何从浏览器保存.pdf?

  19. 19

    在浏览器上显示PDF

  20. 20

    如何从浏览器保存.pdf?

  21. 21

    在浏览器中查看 pdf 流

  22. 22

    能够创建pdf文件的PDF.js或只是使PDF文件显示在网络浏览器中的功能?

  23. 23

    C#多Web浏览器专用模式。每个Web浏览器都采用一种形式

  24. 24

    PDF文件在使用express.js的浏览器中下载不正确(损坏)

  25. 25

    如何保存在没有URL的浏览器窗口中弹出的.pdf文件?

  26. 26

    嵌入标签未在移动浏览器上显示pdf文件

  27. 27

    Spring-在浏览器中显示PDF文件而不是下载

  28. 28

    如何从Amazon S3以PDF格式读取文件流并在浏览器中显示

  29. 29

    加载PDF文件/ URL在Safari浏览器中显示黑屏

热门标签

归档