Basic program flow
I just started trying to learn java coming from C++. Being a C++ guy, I
must understand the details.
What is going on, as I debug through the static main method, my window
is created and it is displayed, and responds. Yet, the debugger steps
out of main...Which I would think exits the program.
Indeed I see threads in the debugger that look like it is in some built
in method for exiting the program.
Did I make a new thread when I created a frame? If so, at what point?
Why doesn't the program exit after main is done? What keeps it alive?
Remember I am coming from the C Windows API and am used to a windows
message pump...i.e. a loop where the program is executing, by
dispatching messages.
Did I make a basic frame correctly? There seems to be 900 different ways
of doing it.
I made this, doing my best to follow tutorials on the net:
----------------------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
import domain.*;
public class Application extends Panel implements WindowListener
{
///
private static final long serialVersionUID = 5321647437323807661L;
///
public static void main(String[] args)
{
Frame frame = new Frame("Application Frame");
Application application = new Application();
frame.addWindowListener(application);
application.initialize();
frame.setSize(300,200);
frame.setLocationByPlatform(true);
frame.add("Center", application);
frame.pack();
frame.setVisible(true);
}
///
public void initialize()
{
Card card = new Card();
card.SetName("Shenanigans");
System.out.format("The card name is: %s %n", card.GetName());
System.out.print("Done.");
}
///
public void windowDeactivated(WindowEvent e)
{
}
///
public void windowDeiconified(WindowEvent e)
{
}
///
public void windowIconified(WindowEvent e)
{
}
///
public void windowOpened(WindowEvent e)
{
}
///
public void windowActivated(WindowEvent e)
{
}
///
public void windowClosed(WindowEvent e)
{
}
///
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}