Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing JFrame内容保存到html文件_Java_Html_Swing - Fatal编程技术网

Java Swing JFrame内容保存到html文件

Java Swing JFrame内容保存到html文件,java,html,swing,Java,Html,Swing,使用JFrame和拆分窗格显示两个大内容之间的差异。它显示了差异和颜色的差异。所以它看起来像一张有色差的桌子。是否可以将其保存为HTML文件 JEditorPane和HTMLEditorKit仅使用文本内容将其保存到文件中。我是否需要手动进行差异处理并在HTML中重新着色 有没有办法将表内容从Swing复制到HTML 私有void saveToHTML(文件选择文件){ 现在我已经创建了这个代码段。这里我设置了左窗格的内容。 yourEditorPane.setText(util.getLeft

使用
JFrame
和拆分窗格显示两个大内容之间的差异。它显示了差异和颜色的差异。所以它看起来像一张有色差的桌子。是否可以将其保存为HTML文件

JEditorPane
HTMLEditorKit
仅使用文本内容将其保存到文件中。我是否需要手动进行差异处理并在HTML中重新着色

有没有办法将表内容从Swing复制到HTML

私有void saveToHTML(文件选择文件){

现在我已经创建了这个代码段。这里我设置了左窗格的内容。 yourEditorPane.setText(util.getLeftEditor().getText())

它正在将其保存在html文件中

在这里,我只能将文本保存在html中。swing的外观(表中的左内容和右内容以及突出显示的差异)无法在html中获取。只有文本可以保存到html中?

在swing应用程序中:

JPanel editorPanel = new JPanel(new BorderLayout());
JideSplitPane splitPane = new JideSplitPane();
splitPane.add(diffUtil.getLeftEditor()));
splitPane.add(diffUtil.getRightEditor()));
editorPanel.add(splitPane);
在Swing中,我得到的对话框窗口填充了左右窗格中的两个内容,差异是彩色的

在这个面板中,我有一个保存到HTML的按钮。单击该按钮,我必须将弹出窗口中显示的内容存储到HTML中

SaveToHTML按钮onclick,我已经编写了这个函数

ConfigurationDiffUtil util = new ConfigurationDiffUtil(previous.getRuRO().getContent(),     latest.getRuRO().getContent());

 JEditorPane yourEditorPane = new JEditorPane();
 yourEditorPane.setContentType("text/html");
// yourEditorPane.setText(util.getLeftEditor().getText());
JideSplitPane splitPane = new JideSplitPane();

        splitPane.add(diffUtil.getLeftEditor()));
splitPane.add(diffUtil.getRightEditor()));

        yourEditorPane.add(splitPane);


 if (selectedFile.isDirectory()) {  

    String deviceFolderName = selectedFile.getPath() + File.separator + escapeFileName(deviceId.getName()); 
     File deviceFolder = new File(deviceFolderName);
     if ( (deviceFolder.exists() && confirmOverwrite(deviceFolderName)) || deviceFolder.mkdir()) {

            String saveFileName = escapeFileName(deviceId.getName())+"."+ "html";
            File dataFile  = new File (deviceFolder, saveFileName);
 try {
    BufferedWriter out = new BufferedWriter(new FileWriter(dataFile));


    HTMLWriter hw = new HTMLWriter(out, (HTMLDocument) yourEditorPane.getDocument());
    hw.write();


    out.flush();
    out.close();
} catch (FileNotFoundException e) {
    Log.error(this, "ExportCredentials:credentials file not found",e);

} catch (BadLocationException e) {
    Log.error(this, "ExportCredentials:credentials file not found",e);
}
catch (IOException e) {
    Log.error(this, "ExportCredentials:unable to read the file",e);

}       
     }
}
}

i) setText显示html页面中的内容

 yourEditorPane.setText(util.getLeftEditor().getText());
这一行显示html中的文本内容

ii)我试图将此拆分窗格添加到JEditorPane

JideSplitPane splitPane = new JideSplitPane();

        splitPane.add(diffUtil.getLeftEditor()));
splitPane.add(diffUtil.getRightEditor()));

        yourEditorPane.add(splitPane);
但是html页面中没有显示任何内容。 我需要显示从splitPane到HTML页面的相同内容


谢谢。

“它显示了差异并为差异着色。”如何?请注意,颜色(用于区别)可能呈现为HTML
JEditorPane
&
JTextPane
支持(简单的)HTML呈现。要更快获得更好的帮助,请发布。我有java代码来计算差异并绘制颜色。因此,JFrame包含具有色差的splitpane。现在,我想将其保存到一个与内容完全相同的html文件中。“我有java代码..”。.M-C-V-E。请注意,在阅读您的评论后,我仍然不清楚这些更改是使用html感知组件以html呈现的,还是直接呈现到
BuffereImage
,或者。。但不要试图用语言来描述它。让MCVE来说话,不。我无法在HTML中呈现它。
JideSplitPane splitPane = new JideSplitPane();

        splitPane.add(diffUtil.getLeftEditor()));
splitPane.add(diffUtil.getRightEditor()));

        yourEditorPane.add(splitPane);