protected void createComponents(IWizardPage page) { headerPanel = new DialogHeaderPanel(); updateHeaderPanel(page); JPanel headerContainer = new JPanel(); headerContainer.setLayout(new BorderLayout()); headerContainer.add(headerPanel, BorderLayout.CENTER); headerContainer.add(new JSeparator(SwingConstants.HORIZONTAL), BorderLayout.SOUTH); JComponent pageContents = page.createControls(); final DialogButtonsPanel buttonsPanel = getButtonsPanel(); JPanel bp = new JPanel(); bp.setLayout(new BorderLayout()); bp.add(new JSeparator(SwingConstants.HORIZONTAL), BorderLayout.NORTH); bp.add(buttonsPanel, BorderLayout.CENTER); this.setLayout(new BorderLayout()); this.add(headerContainer, BorderLayout.NORTH); if (pageContents != null) { this.add(pageContents, BorderLayout.CENTER); pageContents.repaint(); page.updateControls(); } this.add(bp, BorderLayout.SOUTH); }
@Override public void setFilter(@NotNull VcsLogFilter filter) { ApplicationManager.getApplication().assertIsDispatchThread(); if (filter instanceof VcsLogBranchFilter) { myBranchFilterModel.setFilter((VcsLogBranchFilter) filter); JComponent toolbar = myUi.getMainFrame().getToolbar(); toolbar.revalidate(); toolbar.repaint(); } }
public void updateLocation(JComponent container) { final Rectangle rec = container.getVisibleRect(); final Dimension iconSize = getPreferredSize(); final Rectangle newBounds = new Rectangle(rec.x + rec.width - iconSize.width, rec.y, iconSize.width, iconSize.height); if (!newBounds.equals(getBounds())) { setBounds(newBounds); container.repaint(); } }
private void removeFromParent() { // Change visibility option opacity = 0f; // Remove file Container container = this.getParent(); if (container != null && container instanceof JComponent) { JComponent parent = (JComponent) container; parent.remove(this); parent.revalidate(); parent.repaint(); } }
@Override protected void repaint() { if (SwingUtilities.isEventDispatchThread()) { component.repaint(); } else { SwingUtilities.invokeLater( new Runnable() { @Override public void run() { component.repaint(); } }); } }
/** * Adds the component of a specific <tt>PluginComponent</tt> to the associated <tt>Container</tt>. * * @param c the <tt>PluginComponent</tt> which is to have its component added to the * <tt>Container</tt> associated with this <tt>PluginContainer</tt> */ private synchronized void addPluginComponent(PluginComponent c) { /* * Try to respect positionIndex of PluginComponent to some extent: * PluginComponents with positionIndex equal to 0 go at the beginning, * these with positionIndex equal to -1 follow them and then go these * with positionIndex greater than 0. */ int cIndex = c.getPositionIndex(); int index = -1; int i = 0; for (PluginComponent pluginComponent : pluginComponents) { if (pluginComponent.equals(c)) return; if (-1 == index) { int pluginComponentIndex = pluginComponent.getPositionIndex(); if ((0 == cIndex) || (-1 == cIndex)) { if ((0 != pluginComponentIndex) && (cIndex != pluginComponentIndex)) index = i; } else if (cIndex < pluginComponentIndex) index = i; } i++; } int pluginComponentCount = pluginComponents.size(); if (-1 == index) index = pluginComponents.size(); /* * The container may have added Components of its own apart from the * ones this PluginContainer has added to it. Since the common case for * the additional Components is to have them appear at the beginning, * adjust the index so it gets correct in the common case. */ int containerComponentCount = getComponentCount(container); addComponentToContainer( (Component) c.getComponent(), container, (containerComponentCount > pluginComponentCount) ? (index + (containerComponentCount - pluginComponentCount)) : index); pluginComponents.add(index, c); container.revalidate(); container.repaint(); }
void setSideTabsLimit(int sideTabsLimit) { if (mySideTabsLimit != sideTabsLimit) { mySideTabsLimit = sideTabsLimit; // UIUtil.putClientProperty(myTabs, JBTabsImpl.SIDE_TABS_SIZE_LIMIT_KEY, // mySideTabsLimit); myTabs.resetLayout(true); myTabs.doLayout(); myTabs.repaint(); TabInfo info = myTabs.getSelectedInfo(); JComponent page = info != null ? info.getComponent() : null; if (page != null) { page.revalidate(); page.repaint(); } } }
public synchronized void actionPerformed(ActionEvent e) { java.util.List<JComponent> componentsToRemove = null; java.util.List<Part> partsToRemove = null; for (JComponent component : animationStateMap.keySet()) { component.repaint(); if (partsToRemove != null) { partsToRemove.clear(); } Map<Part, AnimationState> map = animationStateMap.get(component); if (!component.isShowing() || map == null || map.size() == 0) { if (componentsToRemove == null) { componentsToRemove = new ArrayList<JComponent>(); } componentsToRemove.add(component); continue; } for (Part part : map.keySet()) { if (map.get(part).isDone()) { if (partsToRemove == null) { partsToRemove = new ArrayList<Part>(); } partsToRemove.add(part); } } if (partsToRemove != null) { if (partsToRemove.size() == map.size()) { // animation is done for the component if (componentsToRemove == null) { componentsToRemove = new ArrayList<JComponent>(); } componentsToRemove.add(component); } else { for (Part part : partsToRemove) { map.remove(part); } } } } if (componentsToRemove != null) { for (JComponent component : componentsToRemove) { animationStateMap.remove(component); } } if (animationStateMap.size() == 0) { timer.stop(); } }
private void loadImage(Editor editor) { JComponent contentComponent = editor.getContentComponent(); Border border = contentComponent.getBorder(); if (border instanceof BackgroundImageBorder) { BackgroundImageBorder backgroundImageBorder = (BackgroundImageBorder) border; if (imagesList.size() > 1) { int i = random.nextInt(imagesList.size()); ImageHolder imageHolder = imagesList.get(i); backgroundImageBorder.setImageHolder(imageHolder); } else if (imagesList.size() == 1) { backgroundImageBorder.setImageHolder(imagesList.get(0)); } else { backgroundImageBorder.setImageHolder(null); } contentComponent.repaint(); } }
/** * Creates preview for the device(video) in the video container. * * @param device the device * @param videoContainer the container * @throws IOException a problem accessing the device. * @throws MediaException a problem getting preview. */ private static void createPreview(MediaDevice device, final JComponent videoContainer) throws IOException, MediaException { videoContainer.removeAll(); videoContainer.revalidate(); videoContainer.repaint(); if (device == null) return; Component c = (Component) GuiActivator.getMediaService() .getVideoPreviewComponent( device, videoContainer.getSize().width, videoContainer.getSize().height); videoContainer.add(c); }
private static void repaintMnemonics(@NotNull Component focusOwner, boolean pressed) { if (pressed != myAltPressed) return; Window window = SwingUtilities.windowForComponent(focusOwner); if (window != null) { for (Component component : window.getComponents()) { if (component instanceof JComponent) { for (JComponent c : UIUtil.findComponentsOfType((JComponent) component, JComponent.class)) { if ((c instanceof JLabel && ((JLabel) c).getDisplayedMnemonicIndex() != -1) || (c instanceof AbstractButton && ((AbstractButton) c).getDisplayedMnemonicIndex() != -1)) { c.repaint(); } } } } } }
public void setText(String txt) { text = txt; textlabel.repaint(); if (!text.equals("")) { if (!isVisible()) { // Only setVisible if its needed // or the focus window will change toFront(); setVisible(true); } // Give focus to capture window if its there if (cw.isVisible()) cw.requestFocus(); } else { // Hide window setVisible(false); } }
private void dispatchEvent(MouseEvent me) { if (rect != null && rect.contains(me.getX(), me.getY())) { Point pt = me.getPoint(); pt.translate(-offset, 0); comp.setBounds(rect); comp.dispatchEvent( new MouseEvent( comp, me.getID(), me.getWhen(), me.getModifiers(), pt.x, pt.y, me.getClickCount(), me.isPopupTrigger(), me.getButton())); if (!comp.isValid()) container.repaint(); } }
public void setSize(final Dimension size) { if (myIsRealPopup && myPopup != null) { // There is a possible case that a popup wraps target content component into other components // which might have borders. // That's why we can't just apply component's size to the whole popup. It needs to be adjusted // before that. JComponent popupContent = myPopup.getContent(); int widthExpand = 0; int heightExpand = 0; boolean adjustSize = false; JComponent prev = myComponent; for (Container c = myComponent.getParent(); c != null; c = c.getParent()) { if (c == popupContent) { adjustSize = true; break; } if (c instanceof JComponent) { Border border = ((JComponent) c).getBorder(); if (prev != null && border != null) { Insets insets = border.getBorderInsets(prev); widthExpand += insets.left + insets.right; heightExpand += insets.top + insets.bottom; } prev = (JComponent) c; } else { prev = null; } } Dimension sizeToUse = size; if (adjustSize && (widthExpand != 0 || heightExpand != 0)) { sizeToUse = new Dimension(size.width + widthExpand, size.height + heightExpand); } myPopup.setSize(sizeToUse); } else if (!isAwtTooltip()) { myComponent.setSize(size); myComponent.revalidate(); myComponent.repaint(); } }
/** * Creates preview for the (video) device in the video container. * * @param device the device * @param videoContainer the video container * @throws IOException a problem accessing the device * @throws MediaException a problem getting preview */ private static void createVideoPreview(CaptureDeviceInfo device, JComponent videoContainer) throws IOException, MediaException { videoContainer.removeAll(); videoContainer.revalidate(); videoContainer.repaint(); if (device == null) return; for (MediaDevice mediaDevice : mediaService.getDevices(MediaType.VIDEO, MediaUseCase.ANY)) { if (((MediaDeviceImpl) mediaDevice).getCaptureDeviceInfo().equals(device)) { Dimension videoContainerSize = videoContainer.getPreferredSize(); Component preview = (Component) mediaService.getVideoPreviewComponent( mediaDevice, videoContainerSize.width, videoContainerSize.height); if (preview != null) videoContainer.add(preview); break; } } }
@Override public void setLocation(@NotNull RelativePoint point) { if (isRealPopup()) { myPopup.setLocation(point.getScreenPoint()); } else { if (myCurrentIdeTooltip != null) { Point screenPoint = point.getScreenPoint(); if (!screenPoint.equals( new RelativePoint(myCurrentIdeTooltip.getComponent(), myCurrentIdeTooltip.getPoint()) .getScreenPoint())) { myCurrentIdeTooltip.setPoint(point.getPoint()); myCurrentIdeTooltip.setComponent(point.getComponent()); IdeTooltipManager.getInstance().show(myCurrentIdeTooltip, true, false); } } else { Point targetPoint = point.getPoint(myComponent.getParent()); myComponent.setLocation(targetPoint); myComponent.revalidate(); myComponent.repaint(); } } }
private void doRepaint() { super.repaint(); }
/** * Shows the hint in the layered pane. Coordinates <code>x</code> and <code>y</code> are in <code> * parentComponent</code> coordinate system. Note that the component appears on 250 layer. */ @Override public void show( @NotNull final JComponent parentComponent, final int x, final int y, final JComponent focusBackComponent, @NotNull final HintHint hintHint) { myParentComponent = parentComponent; myHintHint = hintHint; myFocusBackComponent = focusBackComponent; LOG.assertTrue(myParentComponent.isShowing()); myEscListener = new MyEscListener(); myComponent.registerKeyboardAction( myEscListener, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); myComponent.registerKeyboardAction( myEscListener, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_FOCUSED); final JLayeredPane layeredPane = parentComponent.getRootPane().getLayeredPane(); myComponent.validate(); if (!myForceShowAsPopup && (myForceLightweightPopup || fitsLayeredPane( layeredPane, myComponent, new RelativePoint(parentComponent, new Point(x, y)), hintHint))) { beforeShow(); final Dimension preferredSize = myComponent.getPreferredSize(); if (hintHint.isAwtTooltip()) { IdeTooltip tooltip = new IdeTooltip( hintHint.getOriginalComponent(), hintHint.getOriginalPoint(), myComponent, hintHint, myComponent) { @Override protected boolean canAutohideOn(TooltipEvent event) { if (event.getInputEvent() instanceof MouseEvent) { return !(hintHint.isContentActive() && event.isIsEventInsideBalloon()); } else if (event.getAction() != null) { return false; } else { return true; } } @Override protected void onHidden() { fireHintHidden(); TooltipController.getInstance().resetCurrent(); } @Override public boolean canBeDismissedOnTimeout() { return false; } }.setToCenterIfSmall(hintHint.isMayCenterTooltip()) .setPreferredPosition(hintHint.getPreferredPosition()) .setHighlighterType(hintHint.isHighlighterType()) .setTextForeground(hintHint.getTextForeground()) .setTextBackground(hintHint.getTextBackground()) .setBorderColor(hintHint.getBorderColor()) .setBorderInsets(hintHint.getBorderInsets()) .setFont(hintHint.getTextFont()) .setCalloutShift(hintHint.getCalloutShift()) .setPositionChangeShift( hintHint.getPositionChangeX(), hintHint.getPositionChangeY()) .setExplicitClose(hintHint.isExplicitClose()) .setHint(true); myComponent.validate(); myCurrentIdeTooltip = IdeTooltipManager.getInstance() .show(tooltip, hintHint.isShowImmediately(), hintHint.isAnimationEnabled()); } else { final Point layeredPanePoint = SwingUtilities.convertPoint(parentComponent, x, y, layeredPane); myComponent.setBounds( layeredPanePoint.x, layeredPanePoint.y, preferredSize.width, preferredSize.height); layeredPane.add(myComponent, JLayeredPane.POPUP_LAYER); myComponent.validate(); myComponent.repaint(); } } else { myIsRealPopup = true; Point actualPoint = new Point(x, y); JComponent actualComponent = new OpaquePanel(new BorderLayout()); actualComponent.add(myComponent, BorderLayout.CENTER); if (isAwtTooltip()) { fixActualPoint(actualPoint); int inset = BalloonImpl.getNormalInset(); actualComponent.setBorder(new LineBorder(hintHint.getTextBackground(), inset)); actualComponent.setBackground(hintHint.getTextBackground()); actualComponent.validate(); } myPopup = JBPopupFactory.getInstance() .createComponentPopupBuilder(actualComponent, myFocusRequestor) .setRequestFocus(myFocusRequestor != null) .setFocusable(myFocusRequestor != null) .setResizable(myResizable) .setMovable(myTitle != null) .setTitle(myTitle) .setModalContext(false) .setShowShadow(isRealPopup() && !isForceHideShadow()) .setCancelKeyEnabled(false) .setCancelOnClickOutside(myCancelOnClickOutside) .setCancelCallback( new Computable<Boolean>() { @Override public Boolean compute() { onPopupCancel(); return true; } }) .setCancelOnOtherWindowOpen(myCancelOnOtherWindowOpen) .createPopup(); beforeShow(); myPopup.show(new RelativePoint(myParentComponent, new Point(actualPoint.x, actualPoint.y))); } }
private void fireEvent(String type, Object key, Object e) { window.core.fireEvent(type, key, e); canvas.repaint(); }