Esempio n. 1
0
  /** Creates a new panel */
  public GraphPanel() {
    setLayout(null);

    canvas = createCanvas();
    canvas.setLayout(null);
    canvas.setBackground(Color.WHITE);
    canvas.setOpaque(true);
    canvas.setFocusable(true);

    overlay = createOverlay();
    overlay.setOpaque(false);
    overlay.setFocusable(false);

    add(overlay);
    add(canvas);

    graphListener = graphListener();

    capabilityController = new CapabilityController(this);
    capabilityController.register(CapabilityName.MOVEABLE, new MoveableCapabilityHandler());
    capabilityController.register(CapabilityName.SELECTABLE, new SelectableCapabilityHandler());
    capabilityController.register(CapabilityName.CONTEXT_MENU, new ContextCapabilityHandler());

    addComponentListener(
        new ComponentAdapter() {
          @Override
          public void componentResized(ComponentEvent e) {
            regraph();
          }

          public void componentShown(ComponentEvent e) {
            regraph();
          }
        });
  }
Esempio n. 2
0
 /**
  * Adds a new capability to this graph.
  *
  * @param name the name of the capability
  * @param handler the new handler, may be <code>null</code> to remove an existing handler
  */
 public <T> void setCapability(CapabilityName<T> name, CapabilityHandler<T> handler) {
   capabilityController.register(name, handler);
 }