670 Part II: The Java Library
public class AppletFrame extends Applet {
Frame f;
public void init() {
f = new SampleFrame("A Frame Window");
f.setSize(250, 250);
f.setVisible(true);
}
public void start() {
f.setVisible(true);
}
public void stop() {
f.setVisible(false);
}
public void paint(Graphics g) {
g.drawString("This is in applet window", 10, 20);
}
}
Sample output from this program is shown here:
Handling Events in a Frame Window
SinceFrameis a subclass ofComponent, it inherits all the capabilities defined byComponent.
This means that you can use and manage a frame window just like you manage an applet’s
main window. For example, you can overridepaint( )to display output, callrepaint( )when
you need to restore the window, and add event handlers. Whenever an event occurs in a
window, the event handlers defined by that window will be called. Each window handles its
own events. For example, the following program creates a window that responds to mouse
events. The main applet window also responds to mouse events. When you experiment with
this program, you will see that mouse events are sent to the window in which the event occurs.
// Handle mouse events in both child and applet windows.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="WindowEvents" width=300 height=50>
</applet>
*/
// Create a subclass of Frame.
class SampleFrame extends Frame