gpt4 book ai didi

java - 如何在我的应用程序而不是浏览器中打开 url?

转载 作者:行者123 更新时间:2023-11-28 05:02:58 25 4
gpt4 key购买 nike

我想在我的应用程序中打开一个 url,而不是在浏览器中。我该怎么做?我想我需要一个 webview。我使用带有 jdk 6 的 netbeans 桌面应用程序

如果需要 javafx,我该如何使用它?请给出一些教程?

最佳答案

为什么不使用 JEditorPanesetContentType()setText()

您可以设置内容类型,然后从 URL 响应中获取 HTML 并设置 JEditorPane 文本:

editor.setContentType( "text/html" );    
editor.setText( "<html><body>Hello, world</body></html>" );

更新:

这是一个小例子,虽然有一些小问题:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class JEditorPaneTest extends JPanel {

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {
final JFrame frame = new JFrame();
JEditorPane editor = new JEditorPane();

frame.getContentPane().add(editor);

editor.setContentType("text/html");
URL url = null;
try {
url = new URL("http://www.google.co.za");
} catch (MalformedURLException ex) {
Logger.getLogger(JEditorPaneTest.class.getName()).log(Level.SEVERE, null, ex);
}

BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(url.openStream()));
} catch (IOException ex) {
Logger.getLogger(JEditorPaneTest.class.getName()).log(Level.SEVERE, null, ex);
}
String inputLine;
StringBuffer response = new StringBuffer();
try {
while ((inputLine = in.readLine()) != null) {
response.append(inputLine).append("\n");
}
in.close();
} catch (IOException ex) {
Logger.getLogger(JEditorPaneTest.class.getName()).log(Level.SEVERE, null, ex);
}


// editor.setText("<html><body>Hello, world</body></html>");
editor.setText(response.toString());
editor.setEditable(false);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}

您应该考虑 JavaFX,尽管它有一个您需要的 WebView:http://docs.oracle.com/javafx/2/webview/WebViewSample.java.htm

在这里下载:http://www.oracle.com/technetwork/java/javafx/downloads/index.html

要设置 Java FX 和 netbeans,请参见此处:http://netbeans.org/kb/docs/java/javafx-setup.html

关于java - 如何在我的应用程序而不是浏览器中打开 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12298854/

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