Java Code Examples for javax.swing.SwingUtilities#isDescendingFrom()
The following examples show how to use
javax.swing.SwingUtilities#isDescendingFrom() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ProgressPanel.java From wpcleaner with Apache License 2.0 | 6 votes |
@Override public void setVisible(boolean visible) { boolean oldVisible = isVisible(); super.setVisible(visible); JRootPane rootPane = SwingUtilities.getRootPane(this); if ((rootPane != null) && (isVisible() != oldVisible)) { if (isVisible()) { Component focusOwner = KeyboardFocusManager. getCurrentKeyboardFocusManager().getPermanentFocusOwner(); if ((focusOwner != null) && SwingUtilities.isDescendingFrom(focusOwner, rootPane)) { recentFocusOwner = focusOwner; } rootPane.getLayeredPane().setVisible(false); requestFocusInWindow(); } else { rootPane.getLayeredPane().setVisible(true); if (recentFocusOwner != null) { recentFocusOwner.requestFocusInWindow(); } recentFocusOwner = null; } } }
Example 2
Source File: PopupPanel.java From rapidminer-studio with GNU Affero General Public License v3.0 | 6 votes |
/** * Checks if the focus is still on this component or its child components. */ private boolean isFocusInside(Object newFocusedComp) { if (newFocusedComp instanceof Popup) { return true; } if (newFocusedComp instanceof Component && !SwingUtilities.isDescendingFrom((Component) newFocusedComp, this)) { // Check if focus is on other window if (containingWindow == null) { return false; } Window focusedWindow = KeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow(); // if focus is on other window in owner chain, return false Window parent = containingWindow; do { if (parent == focusedWindow) { return false; } else { parent = parent.getOwner(); } } while (parent != null); } return true; }
Example 3
Source File: PanningManager.java From rapidminer-studio with GNU Affero General Public License v3.0 | 6 votes |
@Override public void eventDispatched(AWTEvent e) { if (e instanceof MouseEvent) { MouseEvent me = (MouseEvent) e; if (!SwingUtilities.isDescendingFrom(me.getComponent(), target)) { return; } if (me.getID() == MouseEvent.MOUSE_RELEASED) { // stop when mouse released mouseOnScreenPoint = null; if (timer.isRunning()) { timer.stop(); } } else if (me.getID() == MouseEvent.MOUSE_DRAGGED && me.getComponent() == target) { mouseOnScreenPoint = me.getLocationOnScreen(); } else if (me.getID() == MouseEvent.MOUSE_PRESSED && me.getComponent() == target) { mouseOnScreenPoint = me.getLocationOnScreen(); timer.start(); } } }
Example 4
Source File: CloneableEditor.java From netbeans with Apache License 2.0 | 6 votes |
/** Transfer the focus to the editor pane. */ @Deprecated @Override public boolean requestFocusInWindow() { super.requestFocusInWindow(); if (pane != null) { if ((customComponent != null) && !SwingUtilities.isDescendingFrom(pane, customComponent)) { return customComponent.requestFocusInWindow(); } else { return pane.requestFocusInWindow(); } } return false; }
Example 5
Source File: WindowUtilities.java From ghidra with Apache License 2.0 | 6 votes |
private static Dialog findYoungestChildDialogOfParentDialog(Dialog parentDialog, List<Dialog> openModalDialogs) { if (parentDialog == null) { return null; } for (Dialog potentialChildDialog : openModalDialogs) { if (parentDialog == potentialChildDialog) { continue; } if (SwingUtilities.isDescendingFrom(potentialChildDialog, parentDialog)) { return findYoungestChildDialogOfParentDialog(potentialChildDialog, openModalDialogs); } } return parentDialog; }
Example 6
Source File: I18nPanel.java From netbeans with Apache License 2.0 | 5 votes |
/** Overrides superclass method to set default button. */ @Override public void addNotify() { super.addNotify(); if (withButtons) { if (SwingUtilities.isDescendingFrom(replaceButton, this)) { getRootPane().setDefaultButton(replaceButton); } } }
Example 7
Source File: ResultView.java From netbeans with Apache License 2.0 | 5 votes |
public boolean isFocused() { ResultViewPanel rvp = getCurrentResultViewPanel(); if (rvp != null) { Component owner = FocusManager.getCurrentManager().getFocusOwner(); return owner != null && SwingUtilities.isDescendingFrom(owner, rvp); } else { return false; } }
Example 8
Source File: CloneableEditor.java From netbeans with Apache License 2.0 | 5 votes |
/** Transfer the focus to the editor pane. */ @Deprecated @Override public void requestFocus() { super.requestFocus(); if (pane != null) { if ((customComponent != null) && !SwingUtilities.isDescendingFrom(pane, customComponent)) { customComponent.requestFocus(); } else { pane.requestFocus(); } } }
Example 9
Source File: IntervalManagerDialog.java From nmonvisualizer with Apache License 2.0 | 5 votes |
@Override public void propertyChange(PropertyChangeEvent evt) { if (evt.getNewValue() != null) { // absolute parent => tabs // if any of the data entry forms are selected, unselect the interval table if (SwingUtilities.isDescendingFrom((java.awt.Component) evt.getNewValue(), absolute.getParent())) { intervals.getTable().clearSelection(); systemTimes.getTable().clearSelection(); } else if (intervals.getTable() == evt.getNewValue()) { systemTimes.getTable().clearSelection(); } } }
Example 10
Source File: EditorOnlyDisplayer.java From netbeans with Apache License 2.0 | 5 votes |
private boolean switchCurrentEditor() { final TopComponent tc = TopComponent.getRegistry().getActivated(); if( null == tc || !TopComponentTracker.getDefault().isEditorTopComponent( tc ) ) return false; final WindowManagerImpl wmi = WindowManagerImpl.getInstance(); final JFrame mainWnd = ( JFrame ) wmi.getMainWindow(); if( SwingUtilities.isDescendingFrom( tc, mainWnd.getContentPane() ) ) return true; JPanel panel = new JPanel( new BorderLayout() ); panel.add( tc, BorderLayout.CENTER ); try { mainWnd.setContentPane( panel ); } catch( IndexOutOfBoundsException e ) { Logger.getLogger(EditorOnlyDisplayer.class.getName()).log(Level.INFO, "Error while switching current editor.", e); //#245541 - something is broken in the component hierarchy, let's try restoring to the default mode SwingUtilities.invokeLater(new Runnable() { @Override public void run() { cancel(false); } }); } mainWnd.invalidate(); mainWnd.revalidate(); mainWnd.repaint(); SwingUtilities.invokeLater( new Runnable() { @Override public void run() { tc.requestFocusInWindow(); } }); return true; }
Example 11
Source File: DebugRepaintManager.java From netbeans with Apache License 2.0 | 5 votes |
@Override public void addDirtyRegion(JComponent c, int x, int y, int w, int h) { for (JComponent dc : logComponents) { if (SwingUtilities.isDescendingFrom(dc, c)) { String boundsMsg = ViewUtils.toString(new Rectangle(x, y, w, h)); ViewHierarchyImpl.REPAINT_LOG.log(Level.FINER, "Component-REPAINT: " + boundsMsg + // NOI18N " c:" + ViewUtils.toString(c), // NOI18N new Exception("Component-Repaint of " + boundsMsg + " cause:")); // NOI18N break; } } super.addDirtyRegion(c, x, y, w, h); }
Example 12
Source File: EditorRegistryWatcher.java From netbeans with Apache License 2.0 | 5 votes |
public void notifyActiveTopComponentChanged(Component activeTopComponent) { if (activeTopComponent != null) { JTextComponent activeTextComponent = activeTextComponentRef.get(); if (activeTextComponent != null) { if (!SwingUtilities.isDescendingFrom(activeTextComponent, activeTopComponent)) { // A top component was focused that does not contain focused text component // so notify that there's in fact no active text component if (LOG.isLoggable(Level.FINE)) { LOG.fine("EditorRegistryWatcher: TopComponent without active JTextComponent\n"); } updateActiveActionInPresenters(null); } } } }
Example 13
Source File: NavigatorController.java From netbeans with Apache License 2.0 | 5 votes |
public void actionPerformed (ActionEvent evt) { Component focusOwner = FocusManager.getCurrentManager().getFocusOwner(); // move focus away only from navigator AWT children, // but not combo box to preserve its ESC functionality if (lastActivatedRef == null || focusOwner == null || !SwingUtilities.isDescendingFrom(focusOwner, navigatorTC.getTopComponent()) || focusOwner instanceof JComboBox) { return; } TopComponent prevFocusedTc = lastActivatedRef.get(); if (prevFocusedTc != null) { prevFocusedTc.requestActive(); } }
Example 14
Source File: StatusLineFactories.java From netbeans with Apache License 2.0 | 5 votes |
static void refreshStatusLine() { LOG.fine("StatusLineFactories.refreshStatusLine()\n"); List<? extends JTextComponent> componentList = EditorRegistry.componentList(); for (JTextComponent component : componentList) { boolean underMainWindow = (SwingUtilities.isDescendingFrom(component, WindowManager.getDefault().getMainWindow())); EditorUI editorUI = Utilities.getEditorUI(component); if (LOG.isLoggable(Level.FINE)) { String componentDesc = component.toString(); Document doc = component.getDocument(); Object streamDesc; if (doc != null && ((streamDesc = doc.getProperty(Document.StreamDescriptionProperty)) != null)) { componentDesc = streamDesc.toString(); } LOG.fine(" underMainWindow=" + underMainWindow + // NOI18N ", text-component: " + componentDesc + "\n"); } if (editorUI != null) { StatusBar statusBar = editorUI.getStatusBar(); statusBar.setVisible(!underMainWindow); boolean shouldUpdateGlobal = underMainWindow && component.isShowing(); if (shouldUpdateGlobal) { statusBar.updateGlobal(); LOG.fine(" end of refreshStatusLine() - found main window component\n\n"); // NOI18N return; // First non-docked one found and updated -> quit } } } clearStatusLine(); LOG.fine(" end of refreshStatusLine() - no components - status line cleared\n\n"); // NOI18N }
Example 15
Source File: BasicCalendarPaneUI.java From microba with BSD 3-Clause "New" or "Revised" License | 5 votes |
public void focusLost(FocusEvent e) { boolean isFocusableComponent = focusableComponents.contains(e .getSource()); boolean isNonEmptyOpposite = e.getOppositeComponent() != null; if (isFocusableComponent && isNonEmptyOpposite && !SwingUtilities.isDescendingFrom(e .getOppositeComponent(), peer)) { peer.commitOrRevert(); } }
Example 16
Source File: AbstractComponentVisibility.java From pumpernickel with MIT License | 5 votes |
public static boolean isInsideActiveWindow(Component comp) { Window activeWindow = KeyboardFocusManager .getCurrentKeyboardFocusManager().getActiveWindow(); if (activeWindow == null) return false; return activeWindow == comp || SwingUtilities.isDescendingFrom(comp, activeWindow); }
Example 17
Source File: WandoraBackgroundPaint.java From wandora with GNU General Public License v3.0 | 5 votes |
public void paint( BackgroundComponent background, PaintableComponent paintable, Graphics g ){ if( SwingUtilities.isDescendingFrom( background.getComponent(), content )){ /* If we are painting an non-transparent component we paint our custom background image, otherwise * we just let it shine through */ if( paintable.getTransparency() == Transparency.SOLID ){ Point point = new Point( 0, 0 ); point = SwingUtilities.convertPoint( paintable.getComponent(), point, content ); BufferedImage image = getImage(); if( image != null ){ int w = paintable.getComponent().getWidth(); int h = paintable.getComponent().getHeight(); g.drawImage( image, 0, 0, w, h, point.x, point.y, point.x + w, point.y + h, null ); } } /* and now we paint the original content of the component */ Graphics2D g2 = (Graphics2D)g.create(); //g2.setComposite( alpha ); paintable.paintBackground( g2 ); paintable.paintForeground( g ); paintable.paintBorder( g2 ); g2.dispose(); paintable.paintChildren( g ); } }
Example 18
Source File: FlatBorder.java From FlatLaf with Apache License 2.0 | 5 votes |
protected boolean isFocused( Component c ) { if( c instanceof JScrollPane ) { JViewport viewport = ((JScrollPane)c).getViewport(); Component view = (viewport != null) ? viewport.getView() : null; if( view != null ) { if( FlatUIUtils.isPermanentFocusOwner( view ) ) return true; if( (view instanceof JTable && ((JTable)view).isEditing()) || (view instanceof JTree && ((JTree)view).isEditing()) ) { Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); if( focusOwner != null ) return SwingUtilities.isDescendingFrom( focusOwner, view ); } } return false; } else if( c instanceof JComboBox && ((JComboBox<?>)c).isEditable() ) { Component editorComponent = ((JComboBox<?>)c).getEditor().getEditorComponent(); return (editorComponent != null) ? FlatUIUtils.isPermanentFocusOwner( editorComponent ) : false; } else if( c instanceof JSpinner ) { if( FlatUIUtils.isPermanentFocusOwner( c ) ) return true; JComponent editor = ((JSpinner)c).getEditor(); if( editor instanceof JSpinner.DefaultEditor ) { JTextField textField = ((JSpinner.DefaultEditor)editor).getTextField(); if( textField != null ) return FlatUIUtils.isPermanentFocusOwner( textField ); } return false; } else return FlatUIUtils.isPermanentFocusOwner( c ); }
Example 19
Source File: Central.java From netbeans with Apache License 2.0 | 4 votes |
/** */ public void activateModeTopComponent(ModeImpl mode, TopComponent tc) { if(!getModeOpenedTopComponents(mode).contains(tc)) { return; } ModeImpl oldActiveMode = getActiveMode(); //#45650 -some API users call the activation all over again all the time on one item. // improve performance for such cases. if (oldActiveMode != null && oldActiveMode.equals(mode)) { if (tc != null && tc.equals(model.getModeSelectedTopComponent(mode))) { // #82385, #139319 do repeat activation if focus is not // owned by tc to be activated Component fOwn = KeyboardFocusManager.getCurrentKeyboardFocusManager(). getFocusOwner(); if (fOwn != null && SwingUtilities.isDescendingFrom(fOwn, tc)) { //#70173 - activation request came probably from a sliding //window in 'hover' mode, so let's hide it slideOutSlidingWindows( mode ); return; } } } model.setActiveMode(mode); model.setModeSelectedTopComponent(mode, tc); if(isVisible()) { viewRequestor.scheduleRequest(new ViewRequest(mode, View.CHANGE_TOPCOMPONENT_ACTIVATED, null, tc)); //restore floating windows if iconified if( mode.getState() == Constants.MODE_STATE_SEPARATED ) { Frame frame = (Frame) SwingUtilities.getAncestorOfClass(Frame.class, tc); if( null != frame && frame != WindowManagerImpl.getInstance().getMainWindow() && (frame.getExtendedState() & Frame.ICONIFIED) > 0 ) { frame.setExtendedState(frame.getExtendedState() - Frame.ICONIFIED ); } } } // Notify registry. WindowManagerImpl.notifyRegistryTopComponentActivated(tc); if(oldActiveMode != mode) { WindowManagerImpl.getInstance().doFirePropertyChange( WindowManagerImpl.PROP_ACTIVE_MODE, oldActiveMode, mode); } }
Example 20
Source File: BasicOutlookBarUI.java From CodenameOne with GNU General Public License v2.0 | 4 votes |
public void layoutContainer(Container parent) { int selectedIndex = tabPane.getSelectedIndex(); Component visibleComponent = getVisibleComponent(); if (selectedIndex < 0) { if (visibleComponent != null) { // The last tab was removed, so remove the component setVisibleComponent(null); } } else { Component selectedComponent = tabPane.getComponentAt(selectedIndex); boolean shouldChangeFocus = false; // In order to allow programs to use a single component // as the display for multiple tabs, we will not change // the visible compnent if the currently selected tab // has a null component. This is a bit dicey, as we don't // explicitly state we support this in the spec, but since // programs are now depending on this, we're making it work. // if (selectedComponent != null) { if (selectedComponent != visibleComponent && visibleComponent != null) { // get the current focus owner Component currentFocusOwner = KeyboardFocusManager .getCurrentKeyboardFocusManager().getFocusOwner(); // check if currentFocusOwner is a descendant of visibleComponent if (currentFocusOwner != null && SwingUtilities.isDescendingFrom(currentFocusOwner, visibleComponent)) { shouldChangeFocus = true; } } setVisibleComponent(selectedComponent); // make sure only the selected component is visible Component[] components = parent.getComponents(); for (int i = 0; i < components.length; i++) { if (!(components[i] instanceof UIResource) && components[i].isVisible() && components[i] != selectedComponent) { components[i].setVisible(false); setConstraint(components[i], "*"); } } if (BasicOutlookBarUI.this.nextVisibleComponent != null) { BasicOutlookBarUI.this.nextVisibleComponent.setVisible(true); } } super.layoutContainer(parent); if (shouldChangeFocus) { if (!requestFocusForVisibleComponent0()) { tabPane.requestFocus(); } } } }