package jas2.util.moverlayeredpane;
import java.awt.*;
import java.awt.event.*;
import jas2.plot.EditableLabel;
import javax.swing.*;
public class MLPLabelFactory implements MLPObjectFactory {
//
//public interface methods
//
public void mousePressed(MouseEvent e, JPanel p) {
dragStart = e.getPoint();
tempLabel = new jas2.plot.EditableLabel("Click here to enter some text.","");
switch (labelBorderDrawState) {
case LabelBorderDrawStates.NONE :
break;
case LabelBorderDrawStates.THIN :
tempLabel.setBorder(BorderFactory.createLineBorder(Color.black, 1));
break;
case LabelBorderDrawStates.THICK :
tempLabel.setBorder(BorderFactory.createLineBorder(Color.black, 5));
break;
default :
}
tempLabel.setLocation(dragStart);
tempLabel.setVisible(true);
tempLabel.setRequestFocusEnabled(true);
p.add(tempLabel);
}
public void mouseDragged(MouseEvent e, JPanel p) {
Point end = e.getPoint();
if ((end.x > dragStart.x) && (end.y > dragStart.y)) {
tempLabel.setSize(end.x - dragStart.x, end.y - dragStart.y);
}
p.validate();
}
public void mouseReleased(MouseEvent e, JPanel p) {
p.repaint();
}
//
//other public methods
//
public int getLabelBorderDrawState() {
return labelBorderDrawState;
}
public void setLabelBorderDrawState(int newState) {
labelBorderDrawState = newState;
}
//
//public constants
//
public interface LabelBorderDrawStates {
int NONE = 0, THIN = 1, THICK = 2;
}
//
//private member variables
//
private int labelBorderDrawState;
private EditableLabel tempLabel;
private Point dragStart;
}
Ads help maintain this website.