ブラウザではなくアプリで URL を開きたいのですが、どうすればよいですか? webview が必要だと思います。jdk 6 で netbeans デスクトップ アプリを使用しています。
javafx が必要な場合、どうすれば使用できますか? チュートリアルを教えてください。
JEditorPane
、setContentType()
および を使用しない理由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を参照してください。
あなたの質問からは、アプリケーションをモジュールとして NetBeans プラットフォームに埋め込もうとしているのか、それとも NetBeans IDE を開発プラットフォームとして使用しているだけなのかよくわかりません。したがって、この回答は、両方を行う方法に関するリソースを提供します。
JavaFX WebView を NetBeans モジュールとして埋め込む
以下は、単純な JavaFX WebView ベースの html ブラウザを NetBeans モジュールに埋め込むサンプル プロジェクトです。このプロジェクトについて説明しているブログ エントリはこちらです。
WebView を使用したスタンドアロン JavaFX プログラム
imageshack リンクでページをレンダリングするサンプル JavaFX プログラムは次のとおりです。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class GoogleSouthAfrica extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(Stage stage) {
WebView webview = new WebView();
webview.getEngine().load("http://www.google.co.za/");
stage.setScene(new Scene(webview, 750, 450));
stage.show();
}
}
サンプル プログラムの出力は次のとおりです。
ここに、NetBeans IDE を使用したJavaFX アプリケーションへの HTML コンテンツの追加に関するチュートリアルへのリンクがあります。