[Shapes] Add shapes application

Merge commit '9bd4e3a87ca931af87c4d88b09f25fa1090eed38' as 'shapes'
This commit is contained in:
2018-09-29 23:48:08 +02:00
29 changed files with 1761 additions and 0 deletions

View File

@ -0,0 +1,73 @@
package fr.uha.graphics.ui;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
public class Controller implements MouseListener, MouseMotionListener, KeyListener {
protected Object model;
private View view;
public Controller(Object newModel) {
model = newModel;
}
public void setView(View view) {
this.view = view;
}
final public View getView() {
return this.view;
}
public void setModel(Object model) {
this.model = model;
}
public Object getModel() {
return this.model;
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseMoved(MouseEvent evt) {
}
@Override
public void mouseDragged(MouseEvent evt) {
}
@Override
public void keyTyped(KeyEvent evt) {
}
@Override
public void keyPressed(KeyEvent evt) {
}
@Override
public void keyReleased(KeyEvent evt) {
}
}

View File

@ -0,0 +1,34 @@
package fr.uha.graphics.ui;
import javax.swing.JPanel;
public abstract class View extends JPanel {
private Object model;
private Controller controller;
public View(Object model) {
this.model = model;
this.controller = defaultController(model);
this.controller.setView(this);
this.addMouseListener(this.controller);
this.addMouseMotionListener(this.controller);
this.addKeyListener(this.controller);
}
public void setModel(Object model) {
this.model = model;
this.controller.setModel(model);
}
public Object getModel() {
return this.model;
}
public Controller defaultController(Object model) {
return new Controller(model);
}
final public Controller getController() {
return this.controller;
}
}