2011-10-25 19 views
0

我需要编写一个应用程序来将html数据导入到数据库中。用户可以插入他的文档,然后编辑它,加粗它,italick等等。然后我需要将HTML数据插入到数据库中。 所以我想编写使用tinyMCE的java(swt)中的独立应用程序。 任何解决方案?如何编写使用tinyMCE的SWT应用程序?

回答

3

你不能自己运行TinyMCE,它依靠具有JavaScript,ContentEditable的全部浏览器环境,整个工程。

随着最近的发展,你可以尝试在你的应用中运行WebKit,然后在里面运行TinyMCE。我还没有看到任何应用程序实际上这样做,但有几个选项进行实验:

或者你可以用纯Java的HTML编辑器去:

+0

你能说一些在java中使用webkit的缺点吗?哪一个是强大的:java webkit或python webkit?使用webkit在python中编写我的程序更好吗? –

+0

在Java中使用WebKit的一大缺点是它会跨平台进行; JavaFX 2仍然只在OS X的预发行版中。我不能说Java或Python,我没有使用Python :) – Spyder

+1

谢谢Spyder。我发现Dj Project(Sweet)对Java中的Webkit有用。这个项目实现了我需要的东西,看看这个:http://djproject.sourceforge.net/sweet/screenshots/images/HTMLEditor。png –

1

由它运行TinyMCE的自我是不可能的。

但是你可以使用一个浏览器组件,并给他一个本地的HTML文件来打开:

browser.setUrl(LOCAL_FILE_URL) ; 

(LOCAL_FILE_URL是你的HTML文件的URL,是这样的:“文件:// [FULLPATH ]/[yourfile] .html“

在这个html文件中,包含TinyMce(看看他们的网站该怎么做) 总是在这个html页面中添加一个javascript函数来获取TinyMce生成的html的内容(当你点击TinyMce中的“源代码”时看到的那个)。这个函数必须返回一个包含html的字符串交配的文字。你的函数将是这样的:

function getContent() { 
    return tinyMCE.activeEditor.getContent(); 
} 

现在,在您的SWT代码要求浏览器来执行你已经使用evalute功能实现的JavaScript函数。

String tinyMceEditedText = (String) browser.evalute("return your_javascript_function();"); 

使用此行,tinyMceEditedText变量现在包含输入的HTML,但包含用户。 完美适用于我:格式化的html可以保存在数据库中,然后以TynyMce格式或在swt文本中格式化。

希望它能帮助那里的人。

Regards

相关问题