About
Scientific Visualization & Simulation in Java with MDI
Building Interactive, Extensible Desktop Applications for Research and Education
David Heddle · Apress · expected Q1 2027
ISBN 979-8-8688-3049-5 · Shelved in Programming Techniques · Intermediate level
Build interactive scientific simulations and visualizations in Java using MDI (Multi-Document Interface). This guide saves you from piecing together disconnected UI recipes, offering a consolidated approach in which visualization, simulation, interaction, and extensibility fit together within a coherent design.
The book builds a complete Java desktop, structured around a series of demo applications that grow in complexity. Early chapters introduce core MDI concepts — views, containers, layers, interactive items, and toolbars. From there, it covers simulation engines, scientific plotting (including histograms and curve fitting), multi-view coordination, and performance topics. A final capstone shows how to use MDI to build a full machine-learning desktop application with an ONNX-based classification model.
What You'll Learn
- Design maintainable, extensible Java desktop architecture for scientific and technical applications
- Build interactive visualizations that coordinate multiple views and shared data
- Integrate simulations, background computation, and UI responsiveness safely
- Implement scientific plotting, curve fitting, and histogram-based visualizations
- Extend a visualization framework for custom research or educational projects
- Build interactive maps with multiple projections, geographic data, terrain, and custom map items
Pre-order details will be linked here once available from Apress.
The Author
David Heddle — github.com/heddle.
David Heddle is a Professor of Physics at Christopher Newport University, in a joint position with Thomas Jefferson National Accelerator Facility. MDI grew out of years of building scientific and engineering software with a heavy visualization component — missile defense simulations, network security and network visualization, nuclear physics event displays, charged-particle “swimming” through nonuniform magnetic fields, and computational grid intersections.
This Site
The companion site is itself an open, static site — no build step, no framework, just HTML and CSS served by GitHub Pages. Its source lives at github.com/heddle/mdi-companion.
MDI Companion