Abstract Window Tool Kit
Abstract Window Tool Kit
Method Description
Frame f = new Frame(); // frame size 300 width and 300 height
f.setTitle("Employee info");
TextField t = new TextField();
// no layout
f.setLayout(null);
// setting position of above components in the frame
// setting visibility of frame
l.setBounds(20, 80, 80, 30);
f.setVisible(true);
t.setBounds(20, 100, 80, 30);
}
b.setBounds(100, 100, 80, 30); public static void main(String args[]) {
// Main class extending Frame // MouseAdapter class for handling mouse click events
public class AdapterDemoFrame extends Frame { class MyMouseAdapter extends MouseAdapter {
public AdapterDemoFrame() { AdapterDemoFrame adapterDemoFrame;
// Set frame properties
setTitle("Adapter Demo"); public MyMouseAdapter(AdapterDemoFrame adapterDemoFrame) {
setSize(300, 100); this.adapterDemoFrame = adapterDemoFrame;
setVisible(true); }
private.
}
public class Main {
public static void main(String[] args) {
OuterClass myOuter = new OuterClass();
OuterClass.InnerClass myInner = myOuter.new InnerClass();
myInner.Q();
}
}
// This applet does NOT use an inner class.
import java.applet.*; // Inner class demo.
import java.awt.event.*; import java.applet.*;
/* import java.awt.event.*;
<applet code="MousePressedDemo" width=200 height=100> /*
</applet> <applet code="InnerClassDemo" width=200 height=100>
*/ </applet>
public class MousePressedDemo extends */
Applet { public class InnerClassDemo extends Applet {
public void init() { public void init() {
addMouseListener(new MyMouseAdapter(this)); addMouseListener(new MyMouseAdapter());
} }
} class MyMouseAdapter extends MouseAdapter {
class MyMouseAdapter extends MouseAdapter { public void mousePressed(MouseEvent me) {
MousePressedDemo mousePressedDemo; showStatus("Mouse Pressed");
public MyMouseAdapter(MousePressedDemo }
mousePressedDemo) { }
this.mousePressedDemo = mousePressedDemo;
}
}
public void mousePressed(MouseEvent me) {
mousePressedDemo.showStatus("Mouse Pressed.");
}
}
Anonymous Inner Class
• A class that has no name is known as an anonymous inner class.
• It should be used if you have to override a method of class or interface.
• Java Anonymous inner class can be created in two ways:
Ex:
1. Class (may be abstract or concrete). abstract class Person{
2. Interface abstract void eat();
}
class TestAnonymousInner{
public static void main(String args[]){
Person p=new Person() {
void eat(){
System.out.println("nice fruits");
}
};
p.eat();
}
}
// Anonymous inner class demo.
import java.applet.*;
import java.awt.event.*;
/*
<applet code="AnonymousInnerClassDemo" width=200 height=100>
</applet>
*/
public class AnonymousInnerClassDemo extends Applet {
public void init() {
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
showStatus("Mouse Pressed");
}
});
}
MOUSE EVENTS
import java.awt.*; // Handle mouse entered. repaint();
import java.awt.event.*; @Override }
import javax.swing.*; public void mouseEntered(MouseEvent me) {
mouseX = 0; // Handle mouse dragged.
public class MouseEvents extends JFrame implements MouseListener, mouseY = 10; @Override
MouseMotionListener { msg = "Mouse entered."; public void mouseDragged(MouseEvent me) {
String msg = ""; repaint(); mouseX = me.getX();
int mouseX = 0, mouseY = 0; // coordinates of mouse } mouseY = me.getY();
msg = "*";
public MouseEvents() { // Handle mouse exited. setTitle("Dragging mouse at " + mouseX + ", " + mouseY);
// Set up the frame @Override repaint();
setTitle("Mouse Events Example"); public void mouseExited(MouseEvent me) { }
setSize(400, 300); mouseX = 0;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mouseY = 10; // Handle mouse moved.
msg = "Mouse exited."; @Override
// Add mouse listeners repaint(); public void mouseMoved(MouseEvent me) {
addMouseListener(this); } setTitle("Moving mouse at " + me.getX() + ", " + me.getY());
addMouseMotionListener(this); }
// Handle button pressed.
// Make the frame visible @Override // Display msg at current X,Y location.
setVisible(true); public void mousePressed(MouseEvent me) { @Override
} mouseX = me.getX(); public void paint(Graphics g) {
mouseY = me.getY(); super.paint(g); // call the superclass paint method
// Handle mouse clicked. msg = "Down"; g.drawString(msg, mouseX, mouseY);
@Override repaint(); }
public void mouseClicked(MouseEvent me) { }
mouseX = 0; public static void main(String[] args) {
mouseY = 10; // Handle button released. new MouseEvents();
msg = "Mouse clicked at (" + me.getX() + ", " + me.getY() + ")"; @Override }
repaint(); public void mouseReleased(MouseEvent me) { }
mouseX = me.getX();
} mouseY = me.getY();
msg = "Up";
KEY EVENTS
import java.awt.*; }
import java.awt.event.*;
public class SimpleKeyFrame extends Frame implements KeyListener { // Handle key released event
String msg = ""; public void keyReleased(KeyEvent ke) {
int X = 10, Y = 50; // output coordinates setTitle("Key Up");
}
public SimpleKeyFrame() {
// Set the title and size of the Frame // Handle key typed event and update the message
super("SimpleKey Frame Example"); public void keyTyped(KeyEvent ke) {
setSize(300, 100); msg += ke.getKeyChar();
repaint();
// Add the KeyListener to the Frame }
addKeyListener(this);
// Display keystrokes on the frame
// Set up a WindowListener to handle closing the window public void paint(Graphics g) {
addWindowListener(new WindowAdapter() { g.drawString(msg, X, Y);
public void windowClosing(WindowEvent we) { }
System.exit(0);
} // Main method to launch the frame
}); public static void main(String[] args) {
setVisible(true); new SimpleKeyFrame();
} }
// Handle key pressed event }
public void keyPressed(KeyEvent ke) {
setTitle("Key Down");