protected void paintBackground(Graphics2D g, JXStatusBar bar) { if (bar.isOpaque()) { g.setColor(bar.getBackground()); g.fillRect(0, 0, bar.getWidth(), bar.getHeight()); } }
public static JXStatusBar createStatusBar(final JComponent comp) { final JXStatusBar statusBar = new JXStatusBar(); statusBar.setUI(new MetalStatusBarUI()); statusBar.putClientProperty(BasicStatusBarUI.AUTO_ADD_SEPARATOR, false); statusBar.setBackground(WidgetUtils.BG_COLOR_DARKEST); final MatteBorder outerBorder = new MatteBorder(1, 0, 0, 0, WidgetUtils.BG_COLOR_LESS_DARK); final EmptyBorder innerBorder = new EmptyBorder(2, 2, 2, 2); statusBar.setBorder(new CompoundBorder(outerBorder, innerBorder)); final JXStatusBar.Constraint c1 = new JXStatusBar.Constraint(JXStatusBar.Constraint.ResizeBehavior.FILL); statusBar.add(comp, c1); return statusBar; }
/** * @param resizeHandleEnabled the resizeHandleEnabled to set */ public void setResizeHandleEnabled(boolean resizeHandleEnabled) { boolean oldValue = isResizeHandleEnabled(); this.resizeHandleEnabled = resizeHandleEnabled; firePropertyChange("resizeHandleEnabled", oldValue, isResizeHandleEnabled()); }
@Override protected void paintBackground(Graphics2D g, JXStatusBar bar) { g.setColor(bar.getBackground()); g.fillRect(0, 0, bar.getWidth(), bar.getHeight()); //paint an inset border around each component. This suggests that //there is an extra border around the status bar...! Border b = BorderFactory.createBevelBorder(BevelBorder.LOWERED, Color.WHITE, bar.getBackground(), bar.getBackground(), Color.GRAY); Insets insets = new Insets(0, 0, 0, 0); for (Component c : bar.getComponents()) { getSeparatorInsets(insets); int x = c.getX() - insets.right; int y = c.getY() - 2; int w = c.getWidth() + insets.left + insets.right; int h = c.getHeight() + 4; b.paintBorder(c, g, x, y, w, h); } }
@Override protected void paintBackground(Graphics2D g, JXStatusBar statusBar) { if (leftImage == null || middleImage == null || rightImage == null) { log.severe("Failed to initialize necessary assets. Set logging to FINE to see more details."); return; } //if bidi, reverse the image painting order //TODO need to handle vertical stretching better g.drawImage(leftImage, 0, 0, leftImage.getWidth(), statusBar.getHeight(), null); if (statusBar.isResizeHandleEnabled()) { g.drawImage(middleImage, leftImage.getWidth(), 0, statusBar.getWidth() - leftImage.getWidth() - rightImage.getWidth(), statusBar.getHeight(), null); g.drawImage(rightImage, statusBar.getWidth() - rightImage.getWidth(), 0, rightImage.getWidth(), statusBar.getHeight(), null); } else { g.drawImage(middleImage, leftImage.getWidth(), 0, statusBar.getWidth() - leftImage.getWidth(), statusBar.getHeight(), null); } }
private int getHandleBoundary() { Border border = statusBar.getBorder(); if (border == null || !statusBar.isResizeHandleEnabled()) { return 0; } if (statusBar.getComponentOrientation().isLeftToRight()) { return border.getBorderInsets(statusBar).right; } else { return border.getBorderInsets(statusBar).left; } }
/** * Create and install the listeners for the status bar. * This method is called when the UI is installed. */ protected void installListeners(JXStatusBar sb) { if ((mouseListener = createMouseListener()) != null) { statusBar.addMouseListener(mouseListener); } if ((mouseMotionListener = createMouseMotionListener()) != null) { statusBar.addMouseMotionListener(mouseMotionListener); } if ((propertyChangeListener = createPropertyChangeListener()) != null) { statusBar.addPropertyChangeListener(propertyChangeListener); } }
private boolean isHandleAreaPoint(Point point) { if (window == null || window.isMaximumSizeSet()) { return false; } if (statusBar.getComponentOrientation().isLeftToRight()) { return point.x >= statusBar.getWidth() - handleBoundary; } else { return point.x <= handleBoundary; } }
/** * Notification from the <code>UIManager</code> that the L&F has changed. * Replaces the current UI object with the latest version from the * <code>UIManager</code>. * * @see javax.swing.JComponent#updateUI */ @Override public void updateUI() { setUI((StatusBarUI) LookAndFeelAddons .getUI(this, StatusBarUI.class)); }
@Override protected void paintBackground(Graphics2D g, JXStatusBar bar) { g.setColor(bar.getBackground()); g.fillRect(0, 0, bar.getWidth(), bar.getHeight()); //paint an inset border around each component. This suggests that //there is an extra border around the status bar...! Border b = BorderFactory.createBevelBorder(BevelBorder.LOWERED, Color.WHITE, bar.getBackground(), bar.getBackground(), Color.GRAY); Insets insets = new Insets(0, 0, 0, 0); for (Component c : bar.getComponents()) { getSeparatorInsets(insets); int x = c.getX() - insets.right; int y = c.getY() - 2; int w = c.getWidth() + insets.left + insets.right; int h = c.getHeight() + 4; b.paintBorder(c, g, x, y, w, h); } }
@Override protected void paintBackground(Graphics2D g, JXStatusBar statusBar) { if (leftImage == null || middleImage == null || rightImage == null) { log.severe("Failed to initialize necessary assets. Set logging to FINE to see more details."); return; } //if bidi, reverse the image painting order //TODO need to handle vertical stretching better g.drawImage(leftImage, 0, 0, leftImage.getWidth(), statusBar.getHeight(), null); if (statusBar.isResizeHandleEnabled()) { g.drawImage(middleImage, leftImage.getWidth(), 0, statusBar.getWidth() - leftImage.getWidth() - rightImage.getWidth(), statusBar.getHeight(), null); g.drawImage(rightImage, statusBar.getWidth() - rightImage.getWidth(), 0, rightImage.getWidth(), statusBar.getHeight(), null); } else { g.drawImage(middleImage, leftImage.getWidth(), 0, statusBar.getWidth() - leftImage.getWidth(), statusBar.getHeight(), null); } }
private int getHandleBoundary() { Border border = statusBar.getBorder(); if (border == null || !statusBar.isResizeHandleEnabled()) { return 0; } if (statusBar.getComponentOrientation().isLeftToRight()) { return border.getBorderInsets(statusBar).right; } else { return border.getBorderInsets(statusBar).left; } }
/** * Create and install the listeners for the status bar. * This method is called when the UI is installed. */ protected void installListeners(JXStatusBar sb) { if ((mouseListener = createMouseListener()) != null) { statusBar.addMouseListener(mouseListener); } if ((mouseMotionListener = createMouseMotionListener()) != null) { statusBar.addMouseMotionListener(mouseMotionListener); } if ((propertyChangeListener = createPropertyChangeListener()) != null) { statusBar.addPropertyChangeListener(propertyChangeListener); } }
private boolean isHandleAreaPoint(Point point) { if (window == null || window.isMaximumSizeSet()) { return false; } if (statusBar.getComponentOrientation().isLeftToRight()) { return point.x >= statusBar.getWidth() - handleBoundary; } else { return point.x <= handleBoundary; } }
/** * @param resizeHandleEnabled the resizeHandleEnabled to set */ public void setResizeHandleEnabled(boolean resizeHandleEnabled) { boolean oldValue = isResizeHandleEnabled(); this.resizeHandleEnabled = resizeHandleEnabled; firePropertyChange("resizeHandleEnabled", oldValue, isResizeHandleEnabled()); }
/** * Notification from the <code>UIManager</code> that the L&F has changed. * Replaces the current UI object with the latest version from the * <code>UIManager</code>. * * @see javax.swing.JComponent#updateUI */ @Override public void updateUI() { setUI((StatusBarUI) LookAndFeelAddons .getUI(this, StatusBarUI.class)); }
protected void paintBackground(Graphics2D g, JXStatusBar bar) { if (bar.isOpaque()) { g.setColor(bar.getBackground()); g.fillRect(0, 0, bar.getWidth(), bar.getHeight()); } }