java - 如何以不同的形式访问jtextPane?

标签 java swing netbeans jtextpane

我正在开发一个应用程序,当我从列表中选择一个值(文件)时,它应该在不同形式的 jTextPane 中打开。我使用两个面板,一个是主面板,其中显示我的列表,另一个是 ExcelSheet,当我单击列表值时,主面板将关闭,并显示新表单 ExcelSheet,但不显示 jTextPane 中的 doc 文件的内容。

XWPFWordExtractor extractor=null;
    File file=null;
    String str=(String) list.getSelectedValue();
    mainPanel.setVisible(false);
    new ExcelSheet().setVisible(true);
    ExcelSheet obj=new ExcelSheet();
        try {
             file=new File("C:\\Users\\Siddique Ansari\\Documents\\CV Parser\\"+str);   


        FileInputStream fis=new FileInputStream(file.getAbsolutePath());
        XWPFDocument document=new XWPFDocument(fis);
        extractor = new XWPFWordExtractor(document);
        String fileData = extractor.getText();
        Document doc = obj.jTextPane1.getDocument();      

            System.out.println(fileData);
            doc.insertString(doc.getLength(), fileData, null);

    }
    catch(Exception exep){exep.printStackTrace();}

最佳答案

使用Action封装更新文本 Pane 的代码以显示给定文件。您可以从 ListSelectionListener 调用该操作添加到您的JList。您还可以在菜单项或工具栏按钮中使用该操作,如图 here 所示。 。 ImageApp是一个相关的例子。

例如,操作的每个实例都需要目标文本 Pane 和文件:

class FileAction extends AbstractAction {

    JTextPane target;
    File file;

    public FileAction(JTextPane target, File file) {
        this.target = target;
        this.file = file;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // render file in target
    }
}

关于java - 如何以不同的形式访问jtextPane?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16441169/

相关文章:

java - 在Netbeans模块中覆盖jar中的类

java - 如何找到哪个应用程序创建了每个 c3p0 连接池?

java - 在java中生成自定义文本文件

java - 如何让 java gui 从一个 gui 转换到另一个 gui

c++ - 刚刚安装了Netbeans和c++插件,但是全新的主文件已经有错误

c++ - 为什么我的简单 hello world C++ 应用程序使用 3 个线程?

java - 将 SQL Count 函数返回给 Java

java - 无法使用 logback 附加程序将日志推送到应用程序洞察

swing - 找不到 Scala Swing 包

java - JList DefaultListModel ListSelectionListener