4

I created a desktop application with Swing Application Framework, now how can I convert it to an applet? The main class extends SingleFrameApplication.

EDITED: This is the starting class, used NetBeans GUI builder:

public class PhotoApp extends SingleFrameApplication {

    /**
     * At startup create and show the main frame of the application.
     */
    @Override protected void startup() {
        show(new PhotoView(this));
    }

    /**
     * This method is to initialize the specified window by injecting resources.
     * Windows shown in our application come fully initialized from the GUI
     * builder, so this additional configuration is not needed.
     */
    @Override protected void configureWindow(java.awt.Window root) {
    }

    /**
     * A convenient static getter for the application instance.
     * @return the instance of PhotoUploaderApp
     */
    public static PhotoApp getApplication() {
        return Application.getInstance(PhotoApp.class);
    }

    /**
     * Main method launching the application.
     */
    public static void main(String[] args) {
        launch(PhotoApp.class, args);
    }
}
lbrandao
  • 4,144
  • 4
  • 35
  • 43

2 Answers2

4

The quick and dirty way:

Drop extends SingleFrameApplication. Add extends JApplet.

replace the constructor with public void init() leaving the body as is.

Create an HTML page to hold it. and give it a whirl.

There will likely be some scoping issues, but you should be able to fix those fairly easily.

Chris Cudmore
  • 29,793
  • 12
  • 57
  • 94
  • It doesn't work. I think it's not that simple because I have no constructor, I edited the question so you can see the code I have. – lbrandao Mar 16 '09 at 19:36
3

Simplest thing is just to make a new outer class inheriting from JApplet, and instantiate the actual frame inside it.

Update

Found a tutorial online that could help.

Community
  • 1
  • 1
Charlie Martin
  • 110,348
  • 25
  • 193
  • 263
  • I have updated the question and posted my code. How would I instantiate it from a JApplet? – lbrandao Mar 16 '09 at 20:58
  • Chris below has the basics. change 'extends SingelFrameApplication' to 'extends JApplet', and since you don't have a ctor you'll have to write an init method from scratch. Besides the tutorial I linked, have a look at http://www.faqs.org/docs/javap/c6/s1.html – Charlie Martin Mar 16 '09 at 22:58
  • 3
    Isn't this tutorial Applet -> Application instead of Application -> Applet? – Joanis Aug 25 '10 at 15:21