Refactoring EditableCanvas in DrawboxEditable and other classes
This commit is contained in:
@ -1,7 +1,96 @@
|
||||
package gui;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
import java.awt.event.MouseMotionListener;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
|
||||
import gui.render.DrawboxRectengleRenderingFunction;
|
||||
import gui.render.ShapeRenderingFunction;
|
||||
import model.Entity;
|
||||
import repository.Project;
|
||||
|
||||
public class EditableCanvas extends JPanel implements MouseListener, MouseMotionListener, ListSelectionListener {
|
||||
|
||||
DrawboxRectengleRenderingFunction drawboxRectengleRenderFunct;
|
||||
ShapeRenderingFunction renderingFunction;
|
||||
Entity entity;
|
||||
BufferedImage image;
|
||||
|
||||
|
||||
public EditableCanvas(Entity entity, BufferedImage image) {
|
||||
this.entity = entity;
|
||||
this.image = image;
|
||||
drawboxRectengleRenderFunct = new DrawboxRectengleRenderingFunction(entity);
|
||||
drawboxRectengleRenderFunct.subscribe(Project.getInstance()); // подписка: Project получит данные ввиде обьекта Event, содержащий данные drawbox при отрисовке последней точки из 4-х.
|
||||
//hitboxPanel.subscribe(Project.getInstance());
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void drawing(Graphics2D g) {
|
||||
if(renderingFunction!=null) {
|
||||
renderingFunction.drawing(g);
|
||||
}
|
||||
}
|
||||
|
||||
public void setDrawboxRectengleRenderingFunction() {
|
||||
renderingFunction = drawboxRectengleRenderFunct;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseMoved(MouseEvent e) {
|
||||
if(renderingFunction!=null) {
|
||||
renderingFunction.mouseMoved(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if(renderingFunction!=null) {
|
||||
renderingFunction.mouseClicked(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent e) {
|
||||
if(renderingFunction!=null) {
|
||||
renderingFunction.mousePressed(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void paintComponent(Graphics g) {
|
||||
super.paintComponent(g);
|
||||
g.drawImage(image, 0, 0, this);
|
||||
if(entity != null) {
|
||||
drawing((Graphics2D)g);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void mouseDragged(MouseEvent e) {}
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent e) {}
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent e) {}
|
||||
@Override
|
||||
public void mouseExited(MouseEvent e) {}
|
||||
@Override
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
//this.repaint();
|
||||
//System.out.println(" Canvas image = " + image);
|
||||
}
|
||||
|
||||
public class EditableCanvas extends JPanel {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user