Calling the Wolfram Language from Java
KernelLink — communicate with a Wolfram Language kernel
MathLink — low-level methods for communicating with any Wolfram Symbolic Transfer Protocol (WSTP) program
MathLinkFactory — create links
MathLinkException — link errors
Monitoring Packet Flow
PacketListener, PacketArrivedEvent — respond to arrival of WSTP packets
PacketPrinter — print packet contents (useful for debugging)
Representing & Storing Expressions
Expr — Java representation of Wolfram Language expressions
LoopbackLink — temporary storage for expressions
User Interface Components
MathFrame, MathJFrame — convenience classes for Wolfram Language-aware Java windows
MathCanvas, MathGraphicsJPanel — display Wolfram Language graphics and typeset output
ConsoleWindow — display Java console output
MathSessionPane — fully functional user interface for Wolfram Language kernel sessions
InterruptDialog — user interface for interrupting computations
BracketMatcher, SyntaxTokenizer — utility classes for working with Wolfram Language input
Event Listeners
MathActionListener — call a Wolfram Language function when an ActionEvent occurs in Java
MathWindowListener — call a Wolfram Language function when a WindowEvent occurs in Java
MathAdjustmentListener ▪ MathComponentListener ▪ MathContainerListener ▪ MathFocusListener ▪ MathItemListener ▪ MathKeyListener ▪ MathMouseListener ▪ MathMouseMotionListener ▪ MathPropertyChangeListener ▪ MathTextListener ▪ MathVetoableChangeListener
LinkSnooper — monitor the flow of packets between two WSTP programs
MathematicaTask — Ant task for calling the Wolfram Language