import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Border extends JComponent implements MouseListener, MouseMotionListener, KeyListener {
public static MainPanel panel;
public enum Types {east, south, corner};
public Types borderType;
public PaintCanvas pc;
private void init() {
addMouseListener(this);
addMouseMotionListener(this);
addKeyListener(this);
setFocusable(true);
}
public Border(PaintCanvas parent, Types bt) {
this.borderType = bt;
init();
setName("border");
pc = parent;
}
public void setImageSize(int x,int y) {
if (x <= 0) x = 1;
if (y <= 0) y = 1;
setSize(x,y);
setPreferredSize(new Dimension(x,y));
}
public void setSize(int x, int y) {
// System.out.println("PaintCanvas.setSize:" + x + "," + y + ":" + getName());
super.setSize(x,y); //calls setBounds()
}
public void setSize(Dimension d) {
// System.out.println("PaintCanvas.setSize:" + d + ":" + getName());
super.setSize(d); //calls setBounds()
}
public void setBounds(int x,int y,int w,int h) {
// System.out.println("PaintCanvas.setBounds:" + x + "," + y + "," + w + "," + h + ":" + getName());
super.setBounds(x,y,w,h);
}
public Dimension getPreferredSize() {
Dimension ps = super.getPreferredSize();
// System.out.println("PaintCanvas.getPreferredSize()" + ps);
return ps;
}
public Dimension getMinimumSize() {
// System.out.println("PaintCanvas.getMinimumSize()" + getPreferredSize());
return getPreferredSize();
}
public Dimension getMaximumSize() {
// System.out.println("PaintCanvas.getMaximumSize()" + getPreferredSize());
return getPreferredSize();
}
public void mouseClicked(MouseEvent e) { panel.mouseClicked(e); }
public void mouseEntered(MouseEvent e) { panel.mouseEntered(e); }
public void mouseExited(MouseEvent e) { panel.mouseExited(e); }
public void mousePressed(MouseEvent e) { panel.mousePressed(e); }
public void mouseReleased(MouseEvent e) { panel.mouseReleased(e); }
public void mouseDragged(MouseEvent e) { panel.mouseDragged(e); }
public void mouseMoved(MouseEvent e) { panel.mouseMoved(e); }
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) { panel.keyTypedOnImage(e.getKeyChar()); }
}