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

📄 gpmarqueehandler.java

📁 用JGraph编的软件
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        Graphics2D g2 = (Graphics2D) g;

        g2.drawRect(bounds.x, bounds.y, bounds.width, bounds.height);
      }
      else if (buttonLane.isSelected()) {
        Graphics2D g2 = (Graphics2D) g;

        g2.drawRect(bounds.x, bounds.y, bounds.width, bounds.height);
      }

      else if (buttonStart.isSelected()) {
        ( (Square) bounds).limitToSquare();
        g.drawOval(bounds.x, bounds.y, bounds.width, bounds.height);
      }
      else if (buttonInter.isSelected()) {
        ( (Square) bounds).limitToSquare();
        g.drawOval(bounds.x, bounds.y, bounds.width, bounds.height);
      }

      else if (buttonEnd.isSelected()) {
        ( (Square) bounds).limitToSquare();
        g.drawOval(bounds.x, bounds.y, bounds.width, bounds.height);
      }
      else if ( (buttonSplit.isSelected()) || (buttonEnd.isSelected())) {
        g.drawRect(bounds.x, bounds.y, bounds.width, bounds.height);
      }
    }
  }

  protected void paintPort(Graphics g) {
    if (port != null) {
      boolean offset =
          (GraphConstants.getOffset(port.getAllAttributes()) != null);
      Rectangle r =
          (offset) ? port.getBounds() : port.getParentView().getBounds();
      r = graphpad.getCurrentGraph().toScreen(new Rectangle(r));
      int s = 3;
      r.translate( -s, -s);
      r.setSize(r.width + 2 * s, r.height + 2 * s);
      GPGraphUI ui = (GPGraphUI) graphpad.getCurrentGraph().getUI();
      ui.paintCell(g, port, r, true);
    }
  }

  //
  // Cell Creation
  //

  public Object addVertex(
      int type,
      Object userObject,
      Rectangle bounds,
      boolean autosize,
      Color border) {
    Map viewMap = new Hashtable();
    Map map;
    GraphModelProvider gmp = graphpad.getCurrentGraphModelProvider();
    GraphModel model = graphpad.getCurrentGraph().getModel();

    // Create Vertex
    Object obj = (userObject instanceof String) ? userObject : "";

    map = GraphConstants.createMap();
    GraphConstants.setBounds(map, bounds);
    GraphConstants.setOpaque(map, false);
    if (border != null) {
      GraphConstants.setBorderColor(map, border);
    }
    String fontName = Translator.getString("FontName");
    try {
      int fontSize = Integer.parseInt(Translator.getString("FontSize"));
      int fontStyle = Integer.parseInt(Translator.getString("FontStyle"));
      GraphConstants.setFont(
          map,
          new Font(fontName, fontStyle, fontSize));
    }
    catch (Exception e) {
      // handle error
    }

    if (autosize) {
      GraphConstants.setAutoSize(map, true);
    }
    List toInsert = new LinkedList();

    Object cell;
    switch (type) {
      case GraphModelProvider.CELL_VERTEX_TEXT:
        cell =
            gmp.createCell(
            model,
            GraphModelProvider.CELL_VERTEX_TEXT,
            new GPUserObject(userObject.toString()),
            map);
        break;
      default:
        cell =
            gmp.createCell(
            model,
            GraphModelProvider.CELL_VERTEX_DEFAULT,
            new GPUserObject(userObject.toString()),
            map);
        break;
    }
    viewMap.put(cell, map);
    toInsert.add(cell);

    // Create Ports
    int u = GraphConstants.PERMILLE;
    //DefaultPort port;
    Object port;

    // Floating Center Port (Child 0 is Default)
    // port = new DefaultPort("Center");
    // cell.add(port);
    port = gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT, "Center", null);
    gmp.addPort(cell, port);
    toInsert.add(port);

    if (userObject instanceof ImageIcon) {
      GraphConstants.setIcon(map, (ImageIcon) userObject);

      // Single non-floating central-port
      map = GraphConstants.createMap();
      GraphConstants.setOffset(
          map,
          new Point( (int) (u / 2), (int) (u / 2)));
      viewMap.put(port, map);
      toInsert.add(port);
    }
    else {
      // Top Left
      //port = new DefaultPort("Topleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(0, 0));
      port = gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
                            "Topleft", map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Center
      //port = new DefaultPort("Topcenter");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point( (int) (u / 2), 0));
      port =
          gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
                         "Topcenter", map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Right
      //port = new DefaultPort("Topright");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(u, 0));
      port =
          gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
                         "Topright", map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Top Center
      //port = new DefaultPort("Middleleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(0, (int) (u / 2)));
      port =
          gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
                         "Middleleft", map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Middle Right
      //port = new DefaultPort("Middleright");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(u, (int) (u / 2)));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Middleright",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Left
      //port = new DefaultPort("Bottomleft");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(0, u));
      port =
          gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
                         "Bottomleft", map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Center
      //port = new DefaultPort("Bottomcenter");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point( (int) (u / 2), u));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Bottomcenter",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);

      // Bottom Right
      //port = new DefaultPort("Bottomright");
      //cell.add(port);
      map = GraphConstants.createMap();
      GraphConstants.setOffset(map, new Point(u, u));
      port =
          gmp.createCell(
          model,
          GraphModelProvider.CELL_PORT_DEFAULT,
          "Bottomright",
          map);
      gmp.addPort(cell, port);
      viewMap.put(port, map);
      toInsert.add(port);
    }

    graphpad.getCurrentGraph().getModel().insert(
        toInsert.toArray(),
        viewMap,
        null,
        null,
        null);
    return cell;
  }

  // Add interface for activity
  public void addActivity(Rectangle bounds) {}

  // Add interface for subProcess
  public void addSubProcess(Rectangle bounds) {}

  // Add interface for DataObj
  public void addDataObj(Rectangle bounds) {}

  // Add interface for TextAnnotation
  public void addTextAnnotation(Rectangle bounds) {}

  // Add interface for activity
  public void addInter(Rectangle bounds) {}

  // Add interface for decision
  public void addDecision(Rectangle bounds) {}

  //添加inclusive接口
  public void addInclusiveGateway(Rectangle bounds) {}
  //添加parallel接口
  public void addParallelGateway(Rectangle bounds) {}
  //添加complex接口
  public void addComplexGateway(Rectangle bounds) {}

  public void addPool(Rectangle bounds) {}

  public void addLane(Rectangle bounds) {}

  // Add interface for start
  public void addStart(Rectangle bounds) {}

  // Add interface for end
  public void addEnd(Rectangle bounds) {}

  public void addSplit(Rectangle bounds) {}

  public void addJoin(Rectangle bounds) {}

  /**
   * Returns the buttonActivity.
   * @return JToggleButton
   */
  public JToggleButton getButtonActivity() {
    return buttonActivity;
  }

  /**
   * Returns the buttonDecision.
   * @return JToggleButton
   */
  public JToggleButton getButtonDecision() {
    return buttonDecision;
  }

  //取得inclusive通路按钮
  public JToggleButton getButtonInclusiveGateway() {
    return buttonInclusiveGateway;
  }
  //取得parallel通路按钮
 public JToggleButton getButtonParallelGateway() {
   return buttonParallelGateway;
 }
 //取得complex通路按钮
 public JToggleButton getButtonComplexGateway() {
   return buttonComplexGateway;
 }



  //取得DataObj按钮
  public JToggleButton getButtonDataObj() {
    return buttonDataObj;
  }

  //取得textAnnotation按钮
  public JToggleButton getButtonTextAnnotation() {
    return buttonTextAnnotation;
  }

//取得SubProcess按钮
  public JToggleButton getButtonSubProcess() {
    return buttonSubProcess;
  }

  public JToggleButton getButtonPool() {
    return buttonPool;
  }

  public JToggleButton getButtonLane() {
    return buttonLane;
  }

  public JToggleButton getButtonSequence() {
    return buttonSequence;
  }

  public JToggleButton getButtonMessage() {
    return buttonMessage;
  }

  public JToggleButton getButtonAssociate() {
    return buttonAssociate;
  }

  /**
   * Returns the buttonStart.
   * @return JToggleButton
   */
  public JToggleButton getButtonStart() {
    return buttonStart;
  }

  /**
   * Returns the buttonEnd.
   * @return JToggleButton
   */
  public JToggleButton getButtonEnd() {
    return buttonEnd;
  }

  /**
   * Returns the buttonSplit.
   * @return JToggleButton
   */
  public JToggleButton getButtonSplit() {
    return buttonSplit;
  }

  /**
   * Returns the buttonJoin.
   * @return JToggleButton
   */
  public JToggleButton getButtonJoin() {
    return buttonJoin;
  }

  /**
   * Returns the buttonEdge.
   * @return JToggleButton
   */
  public JToggleButton getButtonEdge() {
    return buttonEdge;
  }

  /**
   * Returns the buttonLine.
   * @return JToggleButton
   */
  public JToggleButton getButtonLine() {
    return buttonLine;
  }

  /**
   * Returns the buttonSelect.
   * @return JToggleButton
   */
  public JToggleButton getButtonSelect() {
    return buttonSelect;
  }

  /**
   * Returns the buttonText.
   * @return JToggleButton
   */
  public JToggleButton getButtonText() {
    return buttonText;
  }

  /**
   * Returns the buttonZoomArea.
   * @return JToggleButton
   */
  public JToggleButton getButtonZoomArea() {
    return buttonZoomArea;
  }

  public javax.swing.JToggleButton getButtonInter() {
    return buttonInter;
  }

}

⌨️ 快捷键说明

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