# Java Swing

MathType for Java Swing is the specialized compilation of MathType that targets Java Swing. With this Java component, you can add to your application 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.

### Note

Contact our sales team if you want to know more or you are interested in purchasing this product.

## Overview

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

Follow the instructions below to embed the MathType 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 displays the editor itself, and the second step calls the editor API to set and retrieve the MathML.

## MathType as a modal dialogue

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

MathType provides a method to open a dialogue 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);


## MathType as plain component

You can create a new Java Swing application and add the following primary 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.pack();
window.setVisible(true);

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


The variable editor will be used later to access the API in the above code.

Calling the editor API to get the MathML:

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


To set the MathML:

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


## 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 of English for the text in the user interface. Changing the toolbar

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

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


Tells the editor to use the simple toolbar used by the MathType Quizzes tools. The definition of the toolbar is the XML fragment:

<toolbar ref="quizzes"/>


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

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

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