私のJavaFXプロジェクトでは、TinyMCEエディタをHTMLリッチテキストエディタとしてWebView
で統合しようとしています。ここでは、デモのアプリです:私は、NetBeans IDEを使用していますJar内でWebViewを介してTinyMCE Editorをロードするには?
package tinydemo;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class TinyDemo extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Demo");
WebView webView = new WebView();
webView.getEngine().load(TinyDemo.class.getResource("simple.html").toExternalForm());
StackPane root = new StackPane();
root.getChildren().add(webView);
primaryStage.setScene(new Scene(root, 500, 400));
primaryStage.show();
}
}
、パッケージビューは次のとおりです。
simple.html
の内容:今
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Simple theme example</title>
<script type='text/javascript' src='jquery-1.5.2.min.js'></script>
<script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var wewe = document.getElementById('wewe');
wewe.innerHTML += '<br/>protocol: '+ document.location.protocol;
tinyMCE.init({
mode : "textareas",
theme : "simple"
});
});
</script>
</head>
<body>
<div id="wewe"></div>
<h3>Simple theme example</h3>
<textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
This is some example text that you can edit inside the <strong>TinyMCE editor</strong>.
</textarea>
<script type="text/javascript">
if (document.location.protocol == 'file:') {
alert("The examples might not work properly on the local file system due to security settings in your browser. Please use a real webserver.");
}
</script>
</body>
</html>
、私は実行Netbeansのアプリでは、TinyMCEエディタがファイルプロトコルを検出して順調に読み込みます。私は、フォルダdistのの下で、コマンドラインから生成TinyDemo.jarを実行したときに
しかし、私はこれを取得:TinyMCEのエディタが失敗した
ロードする。私は問題がTinyMCEの絶対パス/相対パス参照であると思いますが、解決できませんでした。どんな助けもありがとうございます。ありがとう。
まず、感謝の言葉** jewelsea **の提案。私は幸運とバージョン2.1のデビューのプレビューで試してみました。正確にどこに問題があるのかを判断できなかったので、カスタムプロトコルハンドラに何を書き込むか想像できません。しかし、TinyMCEをより軽量なHTMLエディタに置き換えることで、私の問題を解決しました。 –
偉大なあなたはそれがUlukを働いている。エディタを埋め込むための別の例が必要な場合は、[JavaFXでのコードミラーの埋め込み](http://jewelsea.wordpress.com/2011/12/11/codemirror-based-code-editor-for-javafx/)を参照してください。これは、コードエディタを強調表示する構文であり、ストレートHTMLエディタではありません。また、JavaFXには、あなたのニーズに合わないと思われる組み込みの[HTMLエディタ](http://docs.oracle.com/javafx/2.0/api/javafx/scene/web/HTMLEditor.html)があります。 – jewelsea
JavaFX 2.2でのテストに基づいて、jarファイルにtinyMCEをロードすることもできませんでした。私はそれが働くのを妨げる何かがtinyMCEにあるかもしれないと思う。私の "解決策"は、小さなMCEコードを瓶に入れないことでした。 – Avrom