×

WIRIS EDITOR for Java/Swing

WIRIS EDITOR for Java Swing is the specialized compilation of WIRIS EDITOR that targets Java Swing. With this Java component you can add to your appliation a full fledged formula (equation) editor for maths, physics and (inorganic) chemistry that works with the MathML standard. The usage is very similar to the JavaScript version

WIRIS EDITOR for Java Swing comes also with an API that converts from/to LaTeX, generates images of the formulas in different formats (PNG, SVG) and is able to generate the textual representation of a formula used in accessibility. See editor services and library api.

Follow this document to embed the WIRIS EDITOR in a Java Swing application.


The actual look & feel is inherited from your swing application.

The integration is made in two steps. The first step consists in displaying the editor itself and the second one in calling the editor API to set and retrieve the MathML.

WIRIS editor as a modal dialog

The easiest way to integrate WIRIS EDITOR is by displaying it as a modal window, outside the main application window.

WIRIS EDITOR provides a method to open a dialog and retrieve the submitted MathML in an easy and fast way:

String mathml = JavaEditorDialog.showDialog(window);

if (mathml != null) {
        System.out.println("MathML: " + mathml);
}
else {
        System.out.println("Operation cancelled by the user");
}

This way also allows the inclusion of parameters:

Properties p = new Properties();
p.setProperty("language", "en");
String mathml = JavaEditorDialog.showDialog(window, p);

WIRIS EDITOR as plain component

You can create a new Java Swing application and add the following main class:

package com.wiris.javaEditor;

import java.util.Properties;

import javax.swing.JFrame;

public class JavaEmbeddedExample {
    public static void main(String[] args) {
        Properties p = new Properties();
        p.setProperty("language", "en");
        JavaEditor editor = new JavaEditor(p);

        JFrame window = new JFrame();
        window.add(editor);
        window.pack();
        window.setVisible(true);

        System.out.println(editor.getMathML());
        editor.setMathML("<math><mfrac><mn>1</mn><mi>x</mi></mfrac></math>");
    }
}

In the above code, the variable editor will be used later to access the API.

Calling the editor API to get the MathML:

System.out.println(editor.getMathML());

To set the MathML:

editor.setMathML("<math><mfrac><mn>1</mn><mi>x</mi></mfrac></math>");

Initialization parameters

See the full table of the initialization parameters.

Choosing the language

In the previous example, we passed the following parameter

p.setProperty("language", "en");

which specifies to use English for the text in the user interface.

Changing the toolbar

The parameter 'toolbar' can be used to specify the icons of the toolbar. For example,

p.setProperty("toolbar", "<toolbar ref=\"quizzes\"/>");

tells the editor to use the simple toolbar used by the WQ tools. The definition of the toolbar is the XML fragment:

<toolbar ref="quizzes"/>

To learn how to specify the toolbar in detail visit custom toolbar.

Changing the styles

It is possible to define the default styles of the editor. For example, you can change the font size, font family, color and background color.

p.setProperty("backgroundColor", "#008060");
p.setProperty("color", "#ffffff");
p.setProperty("fontSize", "32px");
p.setProperty("fontFamily", "Times New Roman");