TinyMCE for Java Swing integration
|
TinyMCE’s Java Swing integration was deprecated in TinyMCE 8.0 and reached end-of-life on December 31, 2025. The integration is no longer available for purchase. This page is a reference for existing users of the integration. |
The TinyMCE for Swing integration configures the TinyMCE editor in a Java Swing application. To add the integration to a Java project, complete the following steps.
Copy the TinyMCE for Swing libraries
From the release zip file, select all the Java libraries under the lib folder and import them into the Java project. These libraries contain everything required to run the integration.
Select a deployment and create a configuration
The Swing integration supports three origins for the TinyMCE code: embedded (recommended), cloud, or external.
-
Embedded deployments use the version of TinyMCE prepackaged with the current release of the integration. This is guaranteed to be compatible with the integration specific plugins.
final Config myTinyConfiguration = Config.embedded(); -
Cloud deployments pull TinyMCE from the Tiny Cloud. Use this option by passing your API key and specifying the Tiny Cloud version. Ensure you replace
<no_api_key>with your API key.final Config myTinyConfiguration = Config.cloud("<no_api_key>", "8-stable"); -
External deployments use a local version of TinyMCE served from a specified address.
final Config myTinyConfiguration = Config.external("http://<my_server>/<path>/tinymce.min.js");
The configuration can be customized purely in 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);
Or by passing JavaScript that returns a TinyMCE configuration object.
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
};
})();
Snippet of 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
Create the editor and add it to the view
Create the editor by passing a configuration object. The editor initialization is asynchronous so starting a new editor will return a future value that can be accessed as a normal future value.
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);
After the editor is extracted from the future value, use its component (JComponent) to position it in the view.
Other resources
-
TinyMCE for Swing code samples repository - Refer to this link for examples on how to use TinyMCE for Swing.
-
The integration release
zipfile includes additional documentation, includingJavadocsand API reference guides. Thezipfile includes the following documents:-
readme.txt- This file has general information about TinyMCE for Swing integration. -
license.txt- This file has all the license details about TinyMCE for Swing as a commercial software. -
release-notes.txt- This file has information about the integrations and enhancements that have been implemented in TinyMCE for Swing integration. -
change-log.md- This file lists all user impacting and major changes for every release of TinyMCE for Swing integration. -
jarfiles - Thejarfiles that implement the integration can be found underlib/ -
javadoc- Thejavadoccan be found atdocs/javadoc/index.html.
-