popup menu på Bean
jeg vill gerne lave en popup menu på disse to klasser men det virker ikke heltimport java.awt.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
public class DrawableComponent extends java.awt.Canvas {
protected int x;
protected int y;
protected Dimension dim;
protected int h;
protected int w;
protected javax.swing.JPopupMenu jPopupMenu1;
DrawableComponent(int x2,int y2) {
h = 30;
w = 100;
dim = new Dimension();
dim.setSize(w,h);
//this.x = x;
//this.y = y;
setSize(dim);
jPopupMenu1 = new javax.swing.JPopupMenu();
jPopupMenu1.add(\"properties\");
jPopupMenu1.add(\"size\");
jPopupMenu1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
jPopupMenu1MousePressed(evt);
}
}
);
}
public void fit(int h, int w) {
resize(w,h);
}
public Dimension getSize() {
return dim;
}
public void fitCanvasToImage(int w,int h) {
dim.setSize(w,h);
}
private void jPopupMenu1MousePressed(java.awt.event.MouseEvent evt) {
jPopupMenu1.show ();
}
}
import java.awt.*;
import java.awt.event.*;
import java.awt.event.*;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
public class DrawableString extends DrawableComponent implements MouseMotionListener,MouseListener {
String label;
private Graphics G;
private BufferedImage img ;
Font font;
FontMetrics fm;
private boolean selected;
private Dimension dim;
private int h,w;
public DrawableString(int x2, int y2) {
super(x2,y2);
addMouseMotionListener(this);
addMouseListener(this);
selected = false;
dim = super.getSize();
/*
super.fit(20,30);
label = \"juffi\";
font = new Font(label,5,14);
fm = getFontMetrics(font);
*/
}
public void paint(Graphics g) {
int w2 = (dim.width / 2) - 10 ;
int h2 = dim.height / 2;
g.drawString(\"test power\",w2,h2);
if (selected) {
g.drawRect(0,0,w -1 ,h - 1);
}
}
public Image ImageCopy() {
return img;
}
public void mouseMoved(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
System.out.println(\"m pressed at x :\" +e.getX());
System.out.println(getLocation());
Point p = getLocation();
int x = p.x;
int y = p.y;
setLocation(x + e.getX(),y + e.getY());
}
public void mousePressed(MouseEvent e) {
h = dim.height;
w = dim.width;
selected = true; repaint();
}
public void mouseReleased(MouseEvent e) {
selected = false; repaint();
System.out.println(\"released\");
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
}//end
