gpt4 book ai didi

java - 在 Java 中呈现 HTML

转载 作者:搜寻专家 更新时间:2023-11-01 01:48:12 25 4
gpt4 key购买 nike

我正在尝试为我正在处理的应用程序创建一个帮助面板。帮助文件已经使用 html 技术创建,我希望它在 Pane 中呈现并显示。我看到的所有代码都展示了如何呈现网站,例如“http://google.com”。我想从我的电脑渲染一个文件,例如"文件://c:\tutorial.html"

这是我的代码,但它似乎不起作用。

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import java.awt.Color;
import java.awt.Container;
import java.io.IOException;

import static java.lang.System.err;
import static java.lang.System.out;

final class TestHTMLRendering
{
// ------------------------------ CONSTANTS ------------------------------

/**
* height of frame in pixels
*/
private static final int height = 1000;

/**
* width of frame in pixels
*/
private static final int width = 1000;

private static final String RELEASE_DATE = "2007-10-04";

/**
* title for frame
*/
private static final String TITLE_STRING = "HTML Rendering";

/**
* URL of page we want to display
*/
private static final String URL = "file://C:\\print.html";

/**
* program version
*/
private static final String VERSION_STRING = "1.0";

// --------------------------- main() method ---------------------------

/**
* Debugging harness for a JFrame
*
* @param args command line arguments are ignored.
*/
@SuppressWarnings( { "UnusedParameters" } )
public static void main( String args[] )
{
// Invoke the run method on the Swing event dispatch thread
// Sun now recommends you call ALL your GUI methods on the Swing
// event thread, even the initial setup.
// Could also use invokeAndWait and catch exceptions
SwingUtilities.invokeLater( new Runnable()
{
/**
* } fire up a JFrame on the Swing thread
*/
public void run()
{
out.println( "Starting" );
final JFrame jframe =
new JFrame( TITLE_STRING + " " + VERSION_STRING );
Container contentPane = jframe.getContentPane();
jframe.setSize( width, height );

contentPane.setBackground( Color.YELLOW );
contentPane.setForeground( Color.BLUE );
jframe.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
try
{
out.println( "acquiring URL" );
JEditorPane jep = new JEditorPane( URL );
out.println( "URL acquired" );
JScrollPane jsp =
new JScrollPane( jep,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED );
contentPane.add( jsp );
}
catch ( IOException e )
{
err.println( "can't find URL" );
contentPane.add( new JLabel( "can't find URL" ) );
}
jframe.validate();
jframe.setVisible( true );
// Shows page, with HTML comments erroneously displayed.
// The links are not clickable.
}
} );
}// end main
}// end TestHTMLRendering

最佳答案

您忘记设置 JEditorPane 的内容类型。

jep.setContentType("text/html");

关于java - 在 Java 中呈现 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2611827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com