To run any Java code, one needs the JVM (Java Virtual Machine) installed on the system. On most systems, this is installed as part of the the JRE (Java Runtime Environment). Developers typically install the JDK (Java Development Kit) which is a superset of the JRE that also includes compilers, debuggers, and associated tools.
Looking at Java SE Technologies at a Glance from Oracle, one can see the additional tools that are part of the JDK that do not come with the JRE.
Applets are part of the applet runtime plugin, the AppletViewer is part of the JDK. One does not need the JDK to see an applet if the applet is hosted on a web page.
If this does not need to be part of a web page, one should instead consider using a stand alone environment that is part of the Java SE world. Swing is under the "User Interface Libraries" in the chart on the oracle page which falls under the JRE.
Writing for a stand alone Java SE (rather than an applet) should make this easier to build and run. See Java : Swing application on Wikipedia to get a very basic idea of a hello world app using this framework. Note in particular the public static void main(final String[] args) { ... }
method that exists within the class - this is how one invokes a Java SE application.
If one wanted to avoid needing a separate install of a JVM, it is possible though this comes with various restrictions. The most well known of these is the commercial Excelsior package (its not exactly 'inexpensive'). Excelsior compiles to native code and includes a runtime (the JET runtime) that is capable of dynamically loading other .class files. There also exists gcj, though it appears to be... stale and without any recent (four years) updates. Please read the status page and note that it likely won't fit your needs (java.awt: A lot of code exists, but not enough for use in real applications.)
If you are going to write a java application, your best bet is to have the JRE (one doesn't need the full JDK) on the target machine and build for that. The JRE isn't that big and may very well already be on the target machines.