📄 fpoint.java
字号:
package webide.form;
import java.awt.*;
import java.awt.event.*;
import webide.form.PainterForm;
public class FPoint {
public FPoint(FormPanel formPanel) {
this.formPanel = formPanel;
}
public void addFocusPoint(Container con) {
setMouseEvent(con);
} //end of addFocusPoint.
public static void setPointLocation(Component comp) {
focusComponent = comp;
Rectangle rec
= getRectangle(focusComponent,nPoint.getParent());
setLocation(rec);
}//end of setLocation
public static Rectangle getRectangle(Component comp,Component parent) {
Rectangle rec = comp.getBounds();
int x = rec.x;
int y = rec.y;
int w = rec.width;
int h = rec.height;
while (comp != null && comp != parent) {
comp = comp.getParent();
if (comp != null) {
x = x + comp.getLocation().x;
y = y + comp.getLocation().y;
}
}
return new Rectangle(x,y,w,h);
}
private void addFPoint(Container container) {
nwPoint = new FocusPoint();
nePoint = new FocusPoint();
swPoint = new FocusPoint();
sePoint = new FocusPoint();
nPoint = new FocusPoint();
ePoint = new FocusPoint();
sPoint = new FocusPoint();
wPoint = new FocusPoint();
addComponnet(container);
setSize(7,7);
setVisible(false);
}//end of addFPoint.
public void setSize(int width,int height) {
nwPoint.setSize(width,height);
nePoint.setSize(width,height);
swPoint.setSize(width,height);
sePoint.setSize(width,height);
nPoint.setSize(width,height);
ePoint.setSize(width,height);
sPoint.setSize(width,height);
wPoint.setSize(width,height);
}//end of setSize.
public void addComponnet(Container container) {
container.add(nwPoint);
container.add(nePoint);
container.add(swPoint);
container.add(sePoint);
container.add(nPoint);
container.add(ePoint);
container.add(sPoint);
container.add(wPoint);
}
public static void setVisible(boolean v) {
nwPoint.setVisible(v);
nePoint.setVisible(v);
swPoint.setVisible(v);
sePoint.setVisible(v);
nPoint.setVisible(v);
ePoint.setVisible(v);
sPoint.setVisible(v);
wPoint.setVisible(v);
}//end of setVisible.
public static boolean isVisible() {
if (nwPoint.isVisible() && nePoint.isVisible()
&& swPoint.isVisible() && sePoint.isVisible()
&& nPoint.isVisible() && ePoint.isVisible()
&& sPoint.isVisible() && wPoint.isVisible()) {
return true;
}
return false;
}//end of isVisible.
private boolean isFocusPoint(Object obj) {
if (obj instanceof FocusPoint) {
return true;
}
return false;
}//end of isFocusPoint.
private boolean isPForm() {
if (focusComponent != null
&& focusComponent instanceof webide.form.PainterForm) {
return true;
}
return false;
}//end of isForm.
private boolean canDrag(Object obj) {
if (obj == ePoint || obj == sePoint || obj == sPoint) {
return true;
}
return false;
}//end of isThreePoint.
//-------------set cursor of mouseMove-----------------------
private void setMoveCursor(Object obj) {
setResizeCursor(obj);
}//end of setMOveFocusPoint.
//----set Cursor of MousePressed and MouseDragged -------------------
private void setPressCursor(Object obj) {
setResizeCursor(obj);
}//end of setPressCursor.
private void setReleaseCursor(Object obj) {
setMoveCursor(obj);
}//end of setReleaseCursor.
private void setResizeCursor(Object obj) {
if (obj == nwPoint ) {
cursor = nwResizeCursor;
} else if (obj == nePoint ) {
cursor = neResizeCursor;
} else if (obj == swPoint ) {
cursor = swResizeCursor;
} else if (obj == sePoint ) {
cursor = seResizeCursor;
} else if (obj == nPoint ) {
cursor = nResizeCursor;
} else if (obj == ePoint ) {
cursor = eResizeCursor;
} else if (obj == sPoint ) {
cursor = sResizeCursor;
} else if (obj == wPoint ) {
cursor = wResizeCursor;
} else {
cursor = defaultCursor;
}
((Panel)obj).setCursor(cursor);
}//end of setResizeCursor.
class FocusPoint extends Panel {
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g) {
g.setColor(Color.black);
g.fillRect(0,0,7,7);
g.setColor(Color.white);
g.fillRect(1,1,5,5);
}
public Dimension getPreferredSize() {
return getMinimumSize();
}
public Dimension getMinimumSize() {
return new Dimension(7,7);
}
public Dimension getMaximumSize() {
return getMinimumSize();
}
}//end of FocusPoint.
//----- set mouseEvent ---------------------------------------
private void addMouseAdapter(MouseAdapter adapter) {
nwPoint.addMouseListener(adapter);
nePoint.addMouseListener(adapter);
swPoint.addMouseListener(adapter);
sePoint.addMouseListener(adapter);
nPoint.addMouseListener(adapter);
ePoint.addMouseListener(adapter);
sPoint.addMouseListener(adapter);
wPoint.addMouseListener(adapter);
}//end of addMouseAdapter.
private void addMouseMotionAdapter(MouseMotionAdapter adapter) {
nwPoint.addMouseMotionListener(adapter);
nePoint.addMouseMotionListener(adapter);
swPoint.addMouseMotionListener(adapter);
sePoint.addMouseMotionListener(adapter);
nPoint.addMouseMotionListener(adapter);
ePoint.addMouseMotionListener(adapter);
sPoint.addMouseMotionListener(adapter);
wPoint.addMouseMotionListener(adapter);
}//end of addEvent.
public void setMouseEvent(Container container) {
//add Component to Container and set Propteries
addFPoint(container);
//set FocusPoint Event.
SymMouse aSymMouse = new SymMouse();
addMouseAdapter(aSymMouse);
SymMouseMotion aSymMouseMotion = new SymMouseMotion();
addMouseMotionAdapter(aSymMouseMotion);
}//end of setMouseEvent.
//------ MouseAdapter ------------------------------------------
class SymMouseMotion extends java.awt.event.MouseMotionAdapter {
public void mouseMoved(java.awt.event.MouseEvent event) {
FocusPoint_MouseMove(event);
}
public void mouseDragged(java.awt.event.MouseEvent event) {
FocusPoint_MouseDrag(event);
}
}
void FocusPoint_MouseMove(MouseEvent event) {
}
void FocusPoint_MouseDrag(MouseEvent event) {
Object object = event.getSource();
Component comp = event.getComponent();
endx = event.getX();
endy = event.getY();
int x = endx + comp.getLocation().x;
int y = endy + comp.getLocation().y;
if (isFocusPoint(object)) {
isDrag = true;
disPatchEvent(event,x,y);
}
}
class SymMouse extends java.awt.event.MouseAdapter {
public void mouseClicked(java.awt.event.MouseEvent event) {
}
public void mouseExited(java.awt.event.MouseEvent event) {
FocusPoint_MouseExited(event);
}
public void mouseEntered(java.awt.event.MouseEvent event) {
Object object = event.getSource();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -