|
2 | 2 | * Created by dimaer on 19/03/17. |
3 | 3 | * La classe principale di rendering |
4 | 4 | */ |
5 | | -import javax.accessibility.Accessible; |
6 | | -import javax.accessibility.AccessibleContext; |
7 | | -import javax.swing.*; |
8 | 5 | import java.awt.*; |
9 | 6 | import java.awt.Rectangle; |
10 | 7 | import java.awt.event.MouseAdapter; |
11 | 8 | import java.awt.event.MouseListener; |
12 | 9 | import java.awt.event.MouseEvent; |
13 | | -import java.io.IOException; |
| 10 | +import java.util.ArrayList; |
14 | 11 |
|
15 | 12 | public class Screen extends Canvas{ |
16 | | - Sprite sprite; |
17 | | - |
| 13 | + private Sprite sprite; |
18 | 14 | private int width,height; |
19 | | - |
20 | | - |
| 15 | + private Button button; |
| 16 | + private ArrayList<MouseObserver> observers; |
21 | 17 | @Override |
22 | 18 | public synchronized void addMouseListener(MouseListener mouseListener) { |
23 | 19 | super.addMouseListener(mouseListener); |
24 | 20 | } |
25 | 21 |
|
26 | 22 | public Screen(int Width, int Height) |
27 | 23 | { |
| 24 | + initMouseListeners(); |
| 25 | + button = new Button(new Rectangle(10,10,40,40)); |
| 26 | + |
| 27 | + observers = new ArrayList<>(); |
| 28 | + observers.add(button); |
28 | 29 | width= Width; |
29 | 30 | height = Height; |
30 | 31 |
|
31 | 32 | sprite = new Sprite(new Point(20,20)); |
32 | 33 | sprite.setImage("src/1.jpg"); |
| 34 | + |
| 35 | + button.addMouseListener(new MouseAdapter() { |
| 36 | + @Override |
| 37 | + public void mouseClicked(MouseEvent mouseEvent) { |
| 38 | + System.out.print("Clicked"); |
| 39 | + } |
| 40 | + |
| 41 | + @Override |
| 42 | + public void mouseEntered(MouseEvent mouseEvent) { |
| 43 | + //System.out.print("Entered"); |
| 44 | + } |
| 45 | + }); |
| 46 | + } |
| 47 | + |
| 48 | + private void initMouseListeners() |
| 49 | + { |
| 50 | + addMouseListener(new MouseAdapter() { |
| 51 | + @Override |
| 52 | + public void mouseClicked(MouseEvent mouseEvent) { |
| 53 | + super.mouseClicked(mouseEvent); |
| 54 | + NotifyObservers(mouseEvent , "MOUSE_CLICKED"); |
| 55 | + } |
| 56 | + }); |
| 57 | + |
| 58 | + addMouseMotionListener(new MouseAdapter() { |
| 59 | + @Override |
| 60 | + public void mouseMoved(MouseEvent mouseEvent) { |
| 61 | + super.mouseMoved(mouseEvent); |
| 62 | + NotifyObservers(mouseEvent,"MOUSE_MOVED"); |
| 63 | + } |
| 64 | + }); |
| 65 | + |
| 66 | + } |
| 67 | + |
| 68 | + private void NotifyObservers(MouseEvent mouseEvent , String message) |
| 69 | + { |
| 70 | + for(MouseObserver observer : observers) |
| 71 | + { |
| 72 | + observer.update(mouseEvent,message); |
| 73 | + } |
33 | 74 | } |
34 | 75 |
|
35 | 76 | @Override |
36 | 77 | public void paint(Graphics graphics) { |
37 | 78 | super.paint(graphics); |
38 | 79 | setBackground(new Color(100)); |
39 | | - //rectangle.draw(graphics); |
40 | | - sprite.draw(graphics); |
| 80 | + button.draw(graphics); |
| 81 | + //sprite.draw(graphics); |
41 | 82 |
|
42 | 83 | } |
43 | 84 |
|
|
0 commit comments