component.addHierarchyListener(new HierarchyListener() { @Override public void hierarchyChanged(HierarchyEvent e) { if ( (e.getChangeFlags() & HierarchyEvent.PARENT_CHANGED) != 0) { if (getParent() == e.getChangedParent()) { System.out.println("*** Added to parent " + e.getChangedParent()); } } } });
@Override public void hierarchyChanged(HierarchyEvent e) { if ((e.getChangeFlags() & HierarchyEvent.PARENT_CHANGED) != 0) { Container changedParent = e.getChangedParent(); if (changedParent instanceof JViewport) { Container grandparent = changedParent.getParent(); if (grandparent instanceof JScrollPane) { JScrollPane jScrollPane = (JScrollPane) grandparent; setupScroll(jScrollPane); } } } } });
@Override public void hierarchyChanged(final HierarchyEvent event) { if ((event.getChangeFlags() & HierarchyEvent.PARENT_CHANGED) != 0 && event.getChangedParent() == null) { this.splitPane.removeHierarchyListener(this); this.splitPane.removePropertyChangeListener(this); } }
@Override public void hierarchyChanged(HierarchyEvent e) { // if we are not talking about a rootpane being added to a window, quit and never try again if (!((e.getChangedParent() instanceof Dialog) || (e.getChangedParent() instanceof Frame))) { e.getChanged().removeHierarchyListener(this); return; } // if we are something other than a change event, quit if ((e.getID() != HierarchyEvent.HIERARCHY_CHANGED) || !(e.getChanged() instanceof JRootPane)) { return; } Window w = (Window) e.getChangedParent(); if (w != null) { if (!Arrays.asList(w.getComponentListeners()).contains(WINDOW_ROUNDER)) { w.addComponentListener(WINDOW_ROUNDER); } e.getChanged().removeHierarchyListener(this); } } };
/** Called when the hierarchy has been changed. To discern the actual * type of change, call <code>HierarchyEvent.getChangeFlags()</code>. * * @see HierarchyEvent#getChangeFlags() * */ public void hierarchyChanged(HierarchyEvent e) { //System.out.println("hierarchyChanged"); // optimize?? if (e.getChangedParent() != null){ // why is this neccessary? e.getChangedParent().removePropertyChangeListener("defaultSelectedCustomizerBorderColor", defaultSelectedCustomizerBorderColorListener); } if (getCustomizer().getParentCustomizerPane() != null){ getCustomizer().getParentCustomizerPane().addPropertyChangeListener("defaultSelectedCustomizerBorderColor", defaultSelectedCustomizerBorderColorListener); } resetSelectedBorder(); } }
final HierarchyEvent he = (HierarchyEvent) event; if (HierarchyEvent.HIERARCHY_CHANGED == he.getID() && he.getComponent() instanceof JOptionPane) { final JDialog dlg = (JDialog) SwingUtilities.windowForComponent(he.getChangedParent()); if (dlg != null && !dlg.isUndecorated()) { dlg.setUndecorated(true);
/** Called when the hierarchy has been changed. To discern the actual * type of change, call <code>HierarchyEvent.getChangeFlags()</code>. * * @see HierarchyEvent#getChangeFlags() * */ public void hierarchyChanged(HierarchyEvent e) { //System.out.println("hierarchyChanged!!!"); // optimize?? if (e.getChangedParent() != null){ // why is this neccessary? e.getChangedParent().removePropertyChangeListener("defaultNormalCustomizerBorderColor", defaultNormalCustomizerBorderColorListener); } if (getCustomizer().getParentCustomizerPane() != null){ getCustomizer().getParentCustomizerPane().addPropertyChangeListener("defaultNormalCustomizerBorderColor", defaultNormalCustomizerBorderColorListener); } getNormalState().resetBorder(getColor()); } }
private String s(final HierarchyEvent e) { return "visible[isShowing "+isShowing+"], changeBits 0x"+Long.toHexString(e.getChangeFlags())+Platform.getNewline()+ " ** COMP "+str(e.getComponent())+Platform.getNewline()+ " ** SOURCE "+str(e.getSource())+Platform.getNewline()+ " ** CHANGED "+str(e.getChanged())+Platform.getNewline()+ " ** CHANGEDPARENT "+str(e.getChangedParent())+Platform.getNewline()+ " ** THIS "+str(component)+Platform.getNewline()+ " ** THREAD "+getThreadName(); } @Override
@Override public void hierarchyChanged(HierarchyEvent evt) { // only work with DockingPorts if(!(evt.getSource() instanceof DockingPort)) { return; } // we don't want to work with sub-ports DockingPort port = (DockingPort)evt.getSource(); if(!port.isRoot()) { return; } // only work with parent-change events if(!isParentChange(evt)) { return; } // root-ports are tracked by window. if we can't find a parent window, then we // can track the dockingport. Container changedParent = evt.getChangedParent(); RootWindow window = RootWindow.getRootContainer(changedParent); if(window==null) { return; } boolean removal = isRemoval(evt); if(removal) { dockingPortRemoved(window, port); } else { dockingPortAdded(window, port); } }