I wrote a Ham-Radio Calculator.
This is an interesting piece of Java because it uses a simple Model-View-Control (MVC) framework for a variety of calculations.
First, the presentation is based on Observer-Observable relationship. Each model is an Observable and an Observer of other models. A change in one can trickle through to others.
Second, the models are stateful, and remember which values where set. When n-1 of the required n parameter have been supplied, it calculates the remaining parameter. By changing the order of entry, you can force it to solve for any parameter.
Also, note that the hamcalc site (as a whole) is static HTML, GIF’s and applet code.
The pages are built from a template by a Python tool that makes use of Docutils, Jinja2 and a customized applet directive to extended the Restructured Text markup.
First, finish all the various calculators.
Second, fold in metric in addition to English units.