Package org.dyno.visual.swing.widgets.painter

Source Code of org.dyno.visual.swing.widgets.painter.JMenuPainter

package org.dyno.visual.swing.widgets.painter;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Stroke;

import javax.swing.JMenu;
import javax.swing.JPopupMenu;

import org.dyno.visual.swing.base.ExtensionRegistry;
import org.dyno.visual.swing.plugin.spi.CompositeAdapter;
import org.dyno.visual.swing.plugin.spi.IPainter;
import org.dyno.visual.swing.plugin.spi.WidgetAdapter;
import org.dyno.visual.swing.widgets.design.JMenuDesignOperation;

public class JMenuPainter extends CompositePainter {
  @Override
  public void paintHovered(Graphics clipg) {
    if (((JMenuDesignOperation)getOperation()).isInside_popup()) {
      JMenu jmenu = (JMenu) adaptable.getWidget();
      JPopupMenu popup = jmenu.getPopupMenu();
      CompositeAdapter adapter = (CompositeAdapter) WidgetAdapter.getWidgetAdapter(popup);
      if (adapter == null)
        adapter = (CompositeAdapter) ExtensionRegistry.createWidgetAdapter(popup);
      IPainter painter = (IPainter) adapter.getAdapter(IPainter.class);
      painter.paintHovered(clipg);
    } else {
      if (((JMenuDesignOperation)getOperation()).getDropStatus()== JMenuDesignOperation.DROPPING_FORBIDDEN) {
        JMenu jmenu = (JMenu) adaptable.getWidget();
        Graphics2D g2d = (Graphics2D) clipg;
        g2d.setStroke(STROKE);
        g2d.setColor(RED_COLOR);
        g2d.drawRect(0, 0, jmenu.getWidth(), jmenu.getHeight());
      } else if (((JMenuDesignOperation)getOperation()).getDropStatus()== JMenuDesignOperation.DROPPING_PERMITTED) {
        JMenu jmenu = (JMenu) adaptable.getWidget();
        Graphics2D g2d = (Graphics2D) clipg;
        g2d.setStroke(STROKE);
        g2d.setColor(GREEN_COLOR);
        g2d.drawRect(0, 0, jmenu.getWidth(), jmenu.getHeight());
      }
    }
  }

  protected static Color RED_COLOR = new Color(255, 164, 0);
  protected static Color GREEN_COLOR = new Color(164, 255, 0);
  protected static Stroke STROKE;

  static {
    STROKE = new BasicStroke(2, BasicStroke.CAP_BUTT,
        BasicStroke.JOIN_BEVEL, 0, new float[] { 4 }, 0);
  }
}
TOP

Related Classes of org.dyno.visual.swing.widgets.painter.JMenuPainter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.