Applet and AWT Controls & Events Demos
Basic Applet Demo (AppletDemo.java)
import java.awt.*;
import java.applet.*;
/*
<applet code = "AppletDemo" width = "500" height = "600">
</applet>
*/
public class AppletDemo extends Applet
public void paint(Graphics g)
g.drawString("Applet Fundamentals",50,20);
Applet Skeleton Demo (AppletSkeleton.java)
import java.awt.*;
import java.applet.*;
/*
<applet code = "AppletSkeleton" width = "500" height = "600">
</applet>
*/
public class AppletSkeleton extends Applet
String s1;
public void init() {
setBackground(Color.cyan);
setForeground(Color.red);
s1 = "Begin Applet with init...";
}
public void start() {
s1 += " Inside start .. ";
public void paint(Graphics g)
s1 += "Inside paint";
g.drawString(s1,50,20);
showStatus("This is in the status window");
/*
Compile & Run from Command Prompt:
Compile:
C:\Program Files\Java\jdk1.8.0_311\bin>javac
C:\Work\SYJavaDemos\appdemos\AppletSkeleton.java
Run:
Compile & Run from Command Prompt:
C:\Program Files\Java\jdk1.8.0_311\bin>appletviewer
C:\Work\SYJavaDemos\appdemos\AppletSkeleton.java
*/
Bu ons and its events (Bu onDemo.java)
// Demonstrate Bu ons
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="Bu onDemo" width=400
height=250> </applet>
*/
public class Bu onDemo extends Applet implements Ac onListener
{
String msg = "";
Bu on yes, no, maybe;
public void init()
yes = new Bu on("Yes");
no = new Bu on("No");
maybe = new
Bu on("Undecided"); add(yes);
add(no);
add(maybe);
yes.addAc onListener(this);
no.addAc onListener(this);
maybe.addAc onListener(this);
public void ac onPerformed(Ac onEvent ae)
String str = ae.getAc onCommand();
if(str.equals("Yes"))
msg = "You pressed Yes.";
else if(str.equals("No"))
msg = "You pressed No.";
else
msg = "You pressed Undecided.";
repaint();
}
public void paint(Graphics g)
g.drawString(msg, 6, 100);
/*
Compile & Run from Command Prompt:
Compile:
C:\Program Files\Java\jdk1.8.0_311\bin>javac C:\Work\SYJavaDemos\appdemos\Bu onDemo.java
Run:
Compile & Run from Command Prompt:
C:\Program Files\Java\jdk1.8.0_311\bin>appletviewer
C:\Work\SYJavaDemos\appdemos\Bu onDemo.java
*/
Responding to Mouse Events (MouseEvents.java)
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="MouseEvents" width=300 height=100>
</applet>
*/
public class MouseEvents extends Applet
implements MouseListener, MouseMo onListener
String msg = "";
int mouseX = 0, mouseY = 0; // coordinates of mouse
// public void init()
{
addMouseListener(this);
addMouseMo onListener(this);
public void mouseClicked(MouseEvent me)
// save coordinates
mouseX = 0; mouseY = 10;
msg = "Mouse clicked."; repaint();
// Handle mouse entered.
public void mouseEntered(MouseEvent me)
// save coordinates
mouseX = 0; mouseY = 10;
msg = "Mouse entered.";
repaint();
// Handle mouse exited.
public void mouseExited(MouseEvent me)
// save coordinates
mouseX = 0; mouseY = 10;
msg = "Mouse exited.";
repaint();
// Handle bu on pressed.
public void mousePressed(MouseEvent me)
// save coordinates
mouseX = me.getX();
mouseY = me.getY();
msg = "Down";
repaint();
// Handle bu on released.
public void mouseReleased(MouseEvent me)
// save coordinates
mouseX = me.getX();
mouseY = me.getY();
msg = "Up";
repaint();
// Handle mouse dragged.
public void mouseDragged(MouseEvent me)
// save coordinates
mouseX = me.getX();
mouseY = me.getY();
msg = "*";
showStatus("Dragging mouse at " + mouseX + ", " + mouseY);
repaint();
// Handle mouse moved.
public void mouseMoved(MouseEvent me)
// show status
showStatus("Moving mouse at " + me.getX() + ", " + me.getY());
// Display msg in applet window at current X,Y loca on.
public void paint(Graphics g) {
g.drawString(msg, mouseX, mouseY);
}
/*
Compile & Run from Command Prompt:
Compile:
C:\Program Files\Java\jdk1.8.0_311\bin>javac C:\Work\SYJavaDemos\appdemos\MouseEvents.java
Run:
Compile & Run from Command Prompt:
C:\Program Files\Java\jdk1.8.0_311\bin>appletviewer
C:\Work\SYJavaDemos\appdemos\MouseEvents.java
*/
Responding to Key Events (KeyEvents.java)
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="KeyEvents" width=800
height=500> </applet>
*/
public class KeyEvents extends Applet implements KeyListener {
String msg = "";
int X = 10, Y = 20; // output coordinates
// public void init()
addKeyListener(this);
requestFocus(); // request input focus
public void keyReleased(KeyEvent ke) {
showStatus("Key Up");
public void keyTyped(KeyEvent ke) {
msg += ke.getKeyChar();
repaint();
// Display keystrokes.
public void paint(Graphics g) {
g.drawString(msg, X, Y);
public void keyPressed(KeyEvent ke) {
showStatus("Key Down");
int
key = ke.getKeyCode();
switch (key) {
case KeyEvent.VK_F1:
msg += "<F1>";
break;
case KeyEvent.VK_F2:
msg += "<F2>";
break;
case KeyEvent.VK_F3:
msg += "<F3>";
break;
case KeyEvent.VK_PAGE_DOWN:
msg += "<PgDn>";
break;
case KeyEvent.VK_PAGE_UP:
msg += "<PgUp>";
break;
case KeyEvent.VK_LEFT:
msg += "<Le Arrow>";
break;
case KeyEvent.VK_RIGHT:
msg += "<Right Arrow>";
break;
repaint();
/*
Compile & Run from Command Prompt:
Compile:
C:\Program Files\Java\jdk1.8.0_311\bin>javac C:\Work\SYJavaDemos\appdemos\KeyEvents.java
Run:
Compile & Run from Command Prompt:
C:\Program Files\Java\jdk1.8.0_311\bin>appletviewer
C:\Work\SYJavaDemos\appdemos\KeyEvents.java
*/
Crea ng Frame (FrameDemoApplet.java)
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code = "FrameDemoApplet" width = 300 height = 100>
</applet>
*/
class MyFrame extends Frame {
MyFrame(String tle) {
super( tle);
public void paint(Graphics g) {
g.drawString("This is the Frame Window", 50, 50);
public class FrameDemoApplet extends Applet {
Frame f;
public void init() {
f = new MyFrame("A Frame Window");
f.setSize(200,200);
f.setVisible(true);
public void start() {
f.setVisible(true);
public void stop() {
f.setVisible(false);
public void paint(Graphics g) {
g.drawString("This is the Applet window", 10, 30);
Check box and its events (CheckBoxDemo.java)
// Demonstrate check boxes.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="CheckBoxDemo" width=250 height=200>
</applet>
*/
public class CheckBoxDemo extends Applet implements ItemListener
String msg = "";
Checkbox Win98, winNT, solaris, mac;
public void init()
Win98 = new Checkbox("Windows 98/XP", null,
true); winNT = new Checkbox("Windows NT/2000");
solaris = new Checkbox("Solaris");
mac = new Checkbox("MacOS");
add(Win98);
add(winNT);
add(solaris);
add(mac);
Win98.addItemListener(this);
winNT.addItemListener(this);
solaris.addItemListener(this);
mac.addItemListener(this);
public void itemStateChanged(ItemEvent ie)
repaint();
// Display current state of the check boxes.
public void paint(Graphics g)
msg = "Current state: ";
g.drawString(msg, 6, 80);
msg = " Windows 98/XP: " + Win98.getState();
g.drawString(msg, 6, 100);
msg = " Windows NT/2000: " +
winNT.getState(); g.drawString(msg, 6, 120);
msg = " Solaris: " + solaris.getState();
g.drawString(msg, 6, 140);
msg = " MacOS: " + mac.getState();
g.drawString(msg, 6, 160);
Radio bu ons using CheckboxGroup (CBGroup.java)
// Demonstrate check box group.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="CBGroup" width=250 height=200>
</applet>
*/
public class CBGroup extends Applet implements ItemListener
String msg = "";
Checkbox Win98, winNT, solaris,
mac; CheckboxGroup cbg;
public void init()
cbg = new CheckboxGroup();
Win98 = new Checkbox("Windows 98/XP", cbg, true);
winNT = new Checkbox("Windows NT/2000", cbg, false);
solaris = new Checkbox("Solaris", cbg, false);
mac = new Checkbox("MacOS", cbg,
false); add(Win98);
add(winNT);
add(solaris);
add(mac);
Win98.addItemListener(this);
winNT.addItemListener(this);
solaris.addItemListener(this);
mac.addItemListener(this);
public void itemStateChanged(ItemEvent ie)
repaint();
// Display current state of the check boxes.
public void paint(Graphics g)
msg = "Current selec on: ";
msg += cbg.getSelectedCheckbox().getLabel();
g.drawString(msg, 6, 100);
Crea ng and responding to Drop down list (ChoiceDemo.java)
// Demonstrate Choice lists. (Drop down list)
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="ChoiceDemo" width=300
height=180> </applet>
*/
public class ChoiceDemo extends Applet implements ItemListener
Choice os, browser;
String msg = "";
public void init()
os = new Choice();
browser = new Choice();
// add items to os list
os.add("Windows 98/XP");
os.add("Windows NT/2000");
os.add("Solaris");
os.add("MacOS");
// add items to browser list
browser.add("Netscape 3.x");
browser.add("Netscape 4.x");
browser.add("Netscape 5.x");
browser.add("Netscape 6.x");
browser.add("Internet Explorer 4.0");
browser.add("Internet Explorer 5.0");
browser.add("Internet Explorer 6.0");
browser.add("Lynx 2.4");
browser.select("Netscape 4.x");
// add choice lists to window
add(os);
add(browser);
// register to receive item events
os.addItemListener(this);
browser.addItemListener(this);
public void itemStateChanged(ItemEvent ie)
{
repaint();
// Display current selec ons.
public void paint(Graphics g)
msg = "Current OS: ";
msg += os.getSelectedItem();
g.drawString(msg, 6, 120);
msg = "Current Browser: ";
msg += browser.getSelectedItem();
g.drawString(msg, 6, 140);
Create List Box (ListDemo.java) – Single and mul -select list boxes
// Demonstrate Lists.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="ListDemo" width=300
height=180> </applet>
*/
public class ListDemo extends Applet implements Ac onListener
List os, browser;
String msg = "";
public void init()
os = new List(4, true);
browser = new List(4, false);
// add items to os list
os.add("Windows 98/XP");
os.add("Windows NT/2000");
os.add("Solaris");
os.add("MacOS");
// add items to browser list
browser.add("Netscape 3.x");
browser.add("Netscape 4.x");
browser.add("Netscape 5.x");
browser.add("Netscape 6.x");
browser.add("Internet Explorer 4.0");
browser.add("Internet Explorer 5.0");
browser.add("Internet Explorer 6.0");
browser.add("Lynx 2.4");
browser.select(1);
// add lists to window
add(os);
add(browser);
// register to receive ac on events
os.addAc onListener(this);
browser.addAc onListener(this);
public void ac onPerformed(Ac onEvent ae)
repaint();
// Display current selec ons.
public void paint(Graphics g)
int idx[];
msg = "Current OS: ";
idx = os.getSelectedIndexes();
for(int i=0; i<idx.length; i++){
msg += os.getItem(idx[i]) + " ";
g.drawString(msg, 6, 120);
msg = "Current Browser: ";
msg += browser.getSelectedItem();
g.drawString(msg, 6, 140);
Working with Text Boxes and it’s events (TextFieldDemo.java)
// Demonstrate text field.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="TextFieldDemo" width=380
height=150> </applet>
*/
public class TextFieldDemo extends
Applet implements Ac onListener
TextField name, pass;
public void init()
Label namep = new Label("Name: ", Label.RIGHT);
Label passp = new Label("Password: ", Label.RIGHT);
name = new TextField(12);
pass = new TextField(8);
pass.setEchoChar('*');
add(namep);
add(name);
add(passp);
add(pass);
// register to receive ac on events
name.addAc onListener(this);
pass.addAc onListener(this);
// User pressed Enter.
public void ac onPerformed(Ac onEvent ae)
repaint();
public void paint(Graphics g)
g.drawString("Name: " + name.getText(), 6,60);
g.drawString("Selected text in name: " + name.getSelectedText(), 6, 80);
g.drawString("Password: " + pass.getText(), 6, 100);