TinyMCE 的 Java Swing 集成在 TinyMCE 8.0 中已被弃用,并于 2025 年 12 月 31 日停止支持。该集成不再可供购买。本页面是现有集成用户的参考文档。

此TinyMCE for Swing集成配置了 Java Swing 应用程序中的 TinyMCE 编辑器。要将该集成添加到 Java 项目中,请完成以下步骤。

复制 TinyMCE for Swing 库

从发布版 zip 文件中,选择 lib 文件夹下的所有 Java 库并将其导入到 Java 项目中。这些库包含运行集成所需的所有内容。

选择部署方式并创建配置

Swing 集成支持三种 TinyMCE 代码来源:embedded(推荐)、cloud或external。

  • Embedded 部署使用与当前集成版本预打包在一起的 TinyMCE 版本。这确保了与特定于集成的插件完全兼容。

    final Config myTinyConfiguration = Config.embedded();
  • Cloud 部署从 Tiny Cloud 获取 TinyMCE。通过传递您的 API 密钥并指定 Tiny Cloud 版本来使用此选项。确保将 <no_api_key> 替换为您的 API 密钥。

    final Config myTinyConfiguration = Config.cloud("<no_api_key>", "8-stable");
  • External 部署使用从指定地址提供的小 MCE 本地版本。

    final Config myTinyConfiguration = Config.external("http://<my_server>/<path>/tinymce.min.js");

配置可以完全在 Java 中进行自定义:

final Path contentPath = Paths.get(System.getProperty("user.home"));
final Config myConfig = Config.embedded()
    .setContentPath(contentPath)
    .setImageSaverLocal(contentPath)
    .addPlugins(
      "advcode advlist autolink lists link image editimage charmap emoticons " +
      "anchor searchreplace insertdatetime media table powerpaste help wordcount")
    .putProperty("width", 800)
    .putProperty("height", 600)
    .putProperty("menubar", false)
    .putProperty("toolbar",
      "undo redo | blocks | bold italic backcolor | " +
      "alignleft aligncenter alignright alignjustify | " +
      "bullist numlist outdent indent | removeformat | link image | help")
    .putProperty("images_reuse_filename", true);

或者通过传递返回 TinyMCE 配置对象的 JavaScript 来实现。

config.js:

(function() {
  return {
    width: 800,
    height: 600,
    plugins: [
      'advcode', 'advlist', 'autolink', 'lists', 'link', 'image', 'editimage', 'charmap', 'emoticons',
      'anchor', 'searchreplace', 'insertdatetime', 'media', 'table', 'powerpaste', 'help', 'wordcount'
    ],
    menubar: false,
    toolbar: [
      'undo redo | blocks | bold italic backcolor | alignleft aligncenter ',
      'alignright alignjustify | bullist numlist outdent indent | removeformat | ',
      'link image | help'
    ].join(''),
    images_reuse_filename: true
  };
})();

Edit.java片段:

final Path contentPath = Paths.get(System.getProperty("user.home"));
final Config myConfig = Config.embedded()
    .setContentPath(contentPath)
    .setImageSaverLocal(contentPath)
    .setInitConf(Edit.class, "config.js"); // load config.js using class loader

创建编辑器并将其添加到视图中

通过传递配置对象来创建编辑器。编辑器初始化是异步的,因此启动新编辑器将返回一个未来值,该值可以作为普通未来值访问。

final Config myConfig = Config.embedded();
final TinyMCE editor = TinyMCE.futureEditor(myConfig).get();
editor.setHtml("<p>Hello World!</p>");
final JPanel holder = new JPanel(new BorderLayout());
holder.add(editor.component(), BorderLayout.CENTER);

从未来值中提取编辑器后,使用其组件 (JComponent) 将其定位在视图中。

其他资源

  • TinyMCE for Swing 代码示例仓库 - 参考此链接以获取有关如何使用 TinyMCE for Swing 的示例。

  • 集成发布版 zip 文件包含其他文档,包括 Javadocs 和 API 参考指南。zip 文件包含以下文档:

    • readme.txt - 此文件包含有关 TinyMCE for Swing 集成的通用信息。

    • license.txt - 此文件包含有关 TinyMCE for Swing 作为商业软件的所有许可详细信息。

    • release-notes.txt - 此文件包含有关已实施在 TinyMCE for Swing 集成中的集成和改进的信息。

    • change-log.md - 此文件列出了 TinyMCE for Swing 集成每个版本的所有影响用户的主要更改。

    • jar 文件 - 实现集成的 jar 文件位于 lib/ 下。

    • javadoc - javadoc 位于 docs/javadoc/index.html。