AWT , , (callback). GUI- , ( , ..). C++, ( , ). Java ( ). , . GUI-, . , GUI- , .
Java AWT, JavaBeans API. Java. java.util.EventObject. AWT, , java.awt.AWTEvent. AWT (, MouseEvent tionEvent) java.awt.event. , getSource(), AWT , getID(). , , . , FocusEvent :
FocusEvent.FOCUS_GAINED FocusEvent.FOCUS_LOST. , . , MouseEvent getX(), getY() getClickCount (). , , getModifiers() getWhen().
Java . , . , ( ), , , , , . ( , ), , .
( EventObject). , . , . , ActionEvent ActionListener. java.awt.event (, MouseEvent : MouseListener MouseMotionListener). java.util.EventListener. , -, .
|
|
. , , MouseEvent, , , . . , , , . , . 1 java.awt.event , , , [1].
, , java.awt.event -, . , -, . , , , . - , , , Listener Adapter: MouseAdapter, WindowAdapter .. -, , . . AWT - . : X, addXListener () removeXListener() . Java , . , . , API Button , ActionEvent. 2 AWT , [1].
, , JButton. ButtonListener, Button2. , JTextField.
|
|
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Button2 extends JApplet {
private JButton
b1 = new JButton("Button 1"),
b2 = new JButton("Button 2");
private JTextField txt = new JTextField(10);
// , ActionListener class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) { String name = ((JButton)e.getSource()).getText(); txt.setText(name);
}}
// - private ButtonListener bl = new ButtonListener();
public void init() {
b1.addActionListener(bl); //
b2.addActionListener(bl); // bl ButtonListener
setLayout(new FlowLayout());
add(b1);
add(b2);
add(txt);
}}
. (Button_Label)
, Button, (Button_Color/ButtonApplet.java).
. , Java. MouseListener MouseMotionListener, addMouseListener() addMouseMotionListener().
.
[1], Scribble2, .
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
// ,.. public class Scribble2 extends Applet implements MouseListener, MouseMotionListener { private int last_x, last_y;
public void init() {
// ,
// MouseListener MouseMotionListener
// ,
// .
// ,
// . this.addMouseListener(this); this.addMouseMotionListener(this);
}
// MouseListener.
// .
public void mousePressed(MouseEvent e) {
last_x = e.getX();
last_y = e.getY();
}
// MouseMotionListener. // .
public void mouseDragged(MouseEvent e) { Graphics g = this.getGraphics(); int x = e.getX(), y = e.getY();
g.drawLine(last_x, last_y, x, y);
last_x = x; last_y = y;
}
//, MouseListener. public void mouseReleased(MouseEvent e) {;}
public void mouseClicked(MouseEvent e) {;} public void mouseEntered(MouseEvent e) {;} public void mouseExited(MouseEvent e) {;}
// MouseMotionListener.
public void mouseMoved(MouseEvent e) {;} }
[1]
. Java , Java: . , , . . , - Clear. ActionListener, .
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Scribble3 extends Applet {
int last_x, last_y;
public void init() {
//, MouseListener. this.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) { last_x = e.getX(); last_y = e.getY();}
});
//, MouseMotionListener. this.addMouseMotionListener(new MouseMotionAdapter() {
|
|
public void mouseDragged(MouseEvent e) { Graphics g = getGraphics();
int x = e.getX(), y= e.getY(); g.setColor(Color.black); g.drawLine(last_x, last_y, x, y); last_x = x; last_y = y;
}
});
// Clear.
//,
// , . b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//
Graphics g = getGraphics();
g.setColor(getBackground());
g.fillRect(0, 0, getSize().width, getSize().height);
}
});
// . this.add(b);
}}
, , .. . Java Button1_Mask. , :
public void mousePressed(MouseEvent e) {
if((e.getModifiers()&MouseEvent.BUTTON1_MASK)!=0){ //
//
}
if((e.getModifiers()&MouseEvent.BUTTON1_MASK)==0){
//
//
}