按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
g。fillRect(0; 0; s。width; s。height);
g。setColor(Color。black);
444
…………………………………………………………Page 446……………………………………………………………
display。show(g);
}
public void processEvent(AWTEvent e) {
display。evnt'Display。EVENT'= e。toString();
repaint();
super。processEvent(e);
}
public void
processponentEvent(ponentEvent e) {
switch(e。getID()) {
case ponentEvent。PONENT_MOVED:
display。evnt'Display。PONENT' =
〃ponent moved〃;
break;
case ponentEvent。PONENT_RESIZED:
display。evnt'Display。PONENT' =
〃ponent resized〃;
break;
case ponentEvent。PONENT_HIDDEN:
display。evnt'Display。PONENT' =
〃ponent hidden〃;
break;
case ponentEvent。PONENT_SHOWN:
display。evnt'Display。PONENT' =
〃ponent shown〃;
break;
default:
}
repaint();
// Must always remember to call the 〃super〃
// version of whatever you override:
super。processponentEvent(e);
}
public void processFocusEvent(FocusEvent e) {
switch(e。getID()) {
case FocusEvent。FOCUS_GAINED:
display。evnt'Display。FOCUS' =
〃FOCUS gained〃;
break;
case FocusEvent。FOCUS_LOST:
display。evnt'Display。FOCUS' =
〃FOCUS lost〃;
break;
default:
}
repaint();
super。processFocusEvent(e);
}
public void processKeyEvent(KeyEvent e) {
switch(e。getID()) {
case KeyEvent。KEY_PRESSED:
display。evnt'Display。KEY' =
445
…………………………………………………………Page 447……………………………………………………………
〃KEY pressed: 〃;
break;
case KeyEvent。KEY_RELEASED:
display。evnt'Display。KEY' =
〃KEY released: 〃;
break;
case KeyEvent。KEY_TYPED:
display。evnt'Display。KEY' =
〃KEY typed: 〃;
break;
default:
}
int code = e。getKeyCode();
display。evnt'Display。KEY' +=
KeyEvent。getKeyText(code);
repaint();
super。processKeyEvent(e);
}
public void processMouseEvent(MouseEvent e) {
switch(e。getID()) {
case MouseEvent。MOUSE_CLICKED:
requestFocus(); // Get FOCUS on click
display。evnt'Display。MOUSE' =
〃MOUSE clicked〃;
break;
case MouseEvent。MOUSE_PRESSED:
display。evnt'Display。MOUSE' =
〃MOUSE pressed〃;
break;
case MouseEvent。MOUSE_RELEASED:
display。evnt'Display。MOUSE' =
〃MOUSE released〃;
break;
case MouseEvent。MOUSE_ENTERED:
display。evnt'Display。MOUSE' =
〃MOUSE entered〃;
break;
case MouseEvent。MOUSE_EXITED:
display。evnt'Display。MOUSE' =
〃MOUSE exited〃;
break;
default:
}
display。evnt'Display。MOUSE' +=
〃; x = 〃 + e。getX() +
〃; y = 〃 + e。getY ();
repaint();
super。processMouseEvent(e);
}
public void
processMouseMotionEvent(MouseEvent e) {
switch(e。getID()) {
446
…………………………………………………………Page 448……………………………………………………………
case MouseEvent。MOUSE_DRAGGED:
display。evnt'Display。MOUSE_MOVE' =
〃MOUSE dragged〃;
break ;
case MouseEvent。MOUSE_MOVED:
display。evnt'Display。MOUSE_MOVE' =
〃MOUSE moved〃;
break;
default:
}
display。evnt'Display。MOUSE_MOVE' +=
〃; x = 〃 + e。getX() +
〃; y = 〃 + e。getY();
repaint();
super。processMouseMotionEvent(e);
}
}
class MyButton extends Button {
int clickCounter;
String label = 〃〃;
public MyButton() {
enableEvents(AWTEvent。ACTION_EVENT_MASK);
}
public void paint(Graphics g) {
g。setColor(Color。green);
Dimension s = getSize();
g。fillRect(0; 0; s。width; s。height);
g。setColor(Color。black);
g。drawRect(0; 0; s。width 1; s。height 1);
drawLabel(g);
}
private void drawLabel(Graphics g) {
FontMetrics fm = g。getFontMetrics();
int width = fm。stringWidth(label);
int height = fm。getHeight();
int ascent = fm。getAscent();
int leading = fm。getLeading();
int horizMargin =
(getSize()。width width)/2;
int verMargin =
(getSize()。height height)/2;
g。setColor(Color。red);
g。drawString(label; horizMargin;
verMargin + ascent + leading);
}
public void processActionEvent(ActionEvent e) {
clickCounter++;
label = 〃click #〃 + clickCounter +
〃 〃 + e。toString();
repaint();
super。processActionEvent(e);
447
…………………………………………………………Page 449……………………………………………………………
}
}
public class BadTechnique extends Frame {
BadTechnique() {
setLayout(new GridLayout(2;2));
add(new EnabledPanel(1; Color。cyan));
add(new EnabledPanel(2; Color。lightGray));
add(new EnabledPanel(3; Color。yellow));
// You can also do it for Windows:
enableEvents(AWTEvent。WINDOW_EVENT_MASK);
}
public void processWindowEvent(WindowEvent e) {
System。out。println(e);
if(e。getID() == WindowEvent。WINDOW_CLOSING) {