package org.freeplane.view.swing.map; import java.awt.Component; import java.awt.Graphics; import java.awt.LayoutManager; import javax.swing.JComponent; class ContentPane extends JComponent { static private LayoutManager layoutManager = new ContentPaneLayout(); /** * */ private static final long serialVersionUID = 1L; ContentPane() { setLayout(ContentPane.layoutManager); } @Override final public void paint(final Graphics g) { final NodeView parent = (NodeView) getParent(); final PaintingMode paintingMode = parent.getMap().getPaintingMode(); if(paintingMode.equals(PaintingMode.CLOUDS)) return; final boolean selected = parent.isSelected(); if(paintingMode.equals(PaintingMode.SELECTED_NODES) == selected) super.paint(g); } @Override public boolean contains(final int x, final int y) { if (super.contains(x, y)) return true; for(int i = 0; i < getComponentCount(); i++){ final Component comp = getComponent(i); if(comp.isVisible() && comp.contains(x-comp.getX(), y-comp.getY())) return true; } return false; } }