public void propertyChange(PropertyChangeEvent evt) { if (DisplayOptions.isUpdateUIEvent(evt)) { SwingUtilities.updateComponentTreeUI(this); gradientPanel.remove(drawable); JPanel newpanel = createGradientPanel(); contentPane.remove(gradientPanel); gradientPanel = newpanel; gradientPanel.add(drawable, BorderLayout.CENTER); contentPane.add(gradientPanel, BorderLayout.CENTER); } }
public void showPinObj(PushpinIF pobj, boolean on) { Component comp = (Component) pobj; if (comp == null) return; Container p = comp.getParent(); if (!on) { pobj.setPopup(false, true); if (p != null && p != tabbedPane) { p.remove(comp); p.validate(); p.repaint(); } if (popupComp == comp) popupComp = null; return; } if (popupComp != null) { if (popupComp != comp) { ((PushpinIF) popupComp).setPopup(false, true); p = popupComp.getParent(); if (p != null && p != tabbedPane) { p.remove(popupComp); } } popupComp = null; } /* if (!isShowing()) { return; } */ if (comp.isShowing()) { return; } Container p2 = null; p = pinPanel.getParent(); while (p != null) { if (p instanceof JLayeredPane) p2 = p; p = p.getParent(); } if (p2 == null) return; if (!isShowing()) { VnmrjIF vif = Util.getVjIF(); vif.raiseToolPanel(on); setVisible(true); } popupComp = comp; p = p2; pobj.setPopup(true, true); /* Point pt0 = p.getLocationOnScreen(); Point pt1 = getLocationOnScreen(); */ Point pt1 = getLocation(); Dimension dim = getSize(); int y0 = (int) ((float) dim.height * pobj.getRefY()); int h = (int) ((float) dim.height * pobj.getRefH()); int x = pt1.x + 2; int y = pt1.y + y0; p.add(comp, JLayeredPane.MODAL_LAYER); comp.setBounds(x, y, dim.width, dim.height - y0); ((JComponent) p).validate(); /* p.repaint(); */ }