Иллюстрированный самоучитель по Java



              

Обработка действий мыши - часть 2


Листинг 12.4.

Простейшая программа рисования 

import j ava.awt.*; 

import j ava.awt.event.*;

public class ScribbleTest extends Frame{ 

public ScribbleTest(String s){ 

super(s);

ScrollPane pane = new ScrollPane();

pane.setSize(300, 300);

add(pane, BorderLayout.CENTER);

Scribble scr = new Scribble(this, 500, 500); 

pane.add(scr);

Panel p = new Panel 0; 

add(p, BorderLayout.SOUTH);

Button bl = new Button("Красный"); 

p.add(bl);

bl.addActionListener(scr);

Button b2 = new Button("Зеленый"); 

p.add(b2);

b2.addActionListener(scr) ;

Button b3 = new Button("Синий"); 

p.add(b3);

b3.addActionListener(scr) ;

Button b4 = new Button("Черный"); 

p.add(b4);

b4.addActionListener(scr);

Button b5 = new Button("Очистить"); 

p.add(bS);

b5.addActionListener(scr);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e){ 

System.exit(0);

});

pack();

setvisible(true); 

}

public static void main(String[] args){ 

new ScribbleTest(" \"Рисовалка\"");

}

}

class Scribble extends Component implements ActionListener, MouseListener, MouseMotionListener{ 

protected int lastX, lastY, w, h; 

protected Color currColor = Color.black; 

protected Frame f;

public Scribble(Frame frame, int width, int height){

f = frame; 

w = width; 

h = height;

enableEvents(AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK);

addMouseListener(this);

addMouseMotionListener(this); } 

public Dimension getPreferredSize(){

return new Dimension(w, h); } 

public void actionPerformed(ActionEvent event){

String s = event.getActionCommand();

if (s.equals ("Очистить")) repaint();

else if (s.equals ("Красный")) currColor = CofLor.red;




Содержание  Назад  Вперед