import
java.applet.Applet;
import
java.awt.Button;
import
java.awt.Color;
import
java.awt.Font;
import
java.awt.Graphics;
import
java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import
java.awt.event.MouseEvent;
import
java.awt.event.MouseListener;
import
java.awt.Panel;
public
class
ListenerApplet
extends
Applet
implements
ActionListener, MouseListener {
private
String message =
"Click, hover"
;
private
Color shapeColor = Color.WHITE;
public
void
init() {
Panel cp =
new
Panel();
Button btn =
new
Button(
"Change Color"
);
Font buttonFont =
new
Font(
"Arial"
, Font.BOLD,
18
);
btn.setFont(buttonFont);
btn.setBackground(
new
Color(
50
,
100
,
150
));
btn.setForeground(Color.WHITE);
btn.addActionListener(
this
);
cp.add(btn);
addMouseListener(
this
);
add(cp);
}
public
void
actionPerformed(ActionEvent e) {
shapeColor = shapeColorFn();
repaint();
}
public
void
mouseClicked(MouseEvent e) {
message =
"Mouse Clicked at ("
+ e.getX() +
", "
+ e.getY() +
")"
;
repaint();
}
public
void
mouseEntered(MouseEvent e) {
message =
"Mouse Entered!"
;
repaint();
}
public
void
mouseExited(MouseEvent e) {
message =
"Mouse Exited!"
;
repaint();
}
public
void
mousePressed(MouseEvent e) {
}
public
void
mouseReleased(MouseEvent e) {
}
public
void
paint(Graphics g) {
int
centerX = getWidth() /
2
;
int
centerY = getHeight() /
2
;
g.setColor(shapeColor);
g.fillRoundRect(centerX -
100
, centerY -
50
,
200
,
100
,
20
,
20
);
g.setFont(
new
Font(
"Arial"
, Font.PLAIN,
18
));
g.setColor(Color.BLACK);
g.drawString(message,
10
,
40
);
}
private
Color shapeColorFn() {
int
red = (
int
) (Math.random() *
256
);
int
green = (
int
) (Math.random() *
256
);
int
blue = (
int
) (Math.random() *
256
);
return
new
Color(red, green, blue);
}
}