⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 select.java

📁 it is whiteboard sourse code
💻 JAVA
字号:
package org.merlin.step.nov;import java.awt.*;import java.awt.event.*;import java.util.*;public class Select extends Component implements Tool, UpdateListener {  public Select () {    enableEvents (AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK);  }  ObservableList elements;    public void setDisplayList (ObservableList l) {    elements = l;    elements.addUpdateListener (this);  }  public Component getDisplay () {    return this;  }  public Component getControls () {    LWContainer controls = new LWContainer ();    controls.setLayout (new BorderLayout ());    controls.add ("North", new Label ("Select Tool", Label.CENTER));    return controls;  }  public void dispose () {    elements.removeUpdateListener (this);  }  public void updateOccurred (UpdateEvent e) {    if (selected != null) {      selected = null;      repaint ();    }  }  Element selected;  int x0, y0, x1, y1;      protected void processEvent (AWTEvent e) {    super.processEvent (e);    if (e instanceof MouseEvent) {      MouseEvent m = (MouseEvent) e;      switch (m.getID ()) {        case MouseEvent.MOUSE_PRESSED:          Element oSelected = selected;          x0 = x1 = m.getX ();          y0 = y1 = m.getY ();          selected = null;          Enumeration els = elements.elements ();          while (els.hasMoreElements ()) {            Element el = (Element) els.nextElement ();            if ((el != null) && el.getBounds ().contains (x0, y0))              selected = el;          }          if (selected != oSelected)            repaint ();          break;        case MouseEvent.MOUSE_DRAGGED:          if (selected != null) {            x1 = m.getX ();            y1 = m.getY ();            repaint ();          }          break;        case MouseEvent.MOUSE_RELEASED:          if (selected != null) {            x1 = m.getX ();            y1 = m.getY ();            elements.replaceElementAtEnd (selected, selected.getTranslated (x1 - x0, y1 - y0));            selected = null;            repaint ();          }          break;      }    }  }  public void paint (Graphics g) {    if (selected != null) {      Rectangle r = selected.getBounds ();      g.setColor (Color.red);      g.drawRect (r.x - 1 + x1 - x0, r.y - 1 + y1 - y0, r.width + 1, r.height + 1);    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -