private void updateLabelSizes() { Dictionary labelTable = getLabelTable(); if (labelTable != null) { Enumeration labels = labelTable.elements(); while (labels.hasMoreElements()) { JComponent component = (JComponent) labels.nextElement(); component.setSize(component.getPreferredSize()); } } }
/** * Updates the UIs for the labels in the label table by calling {@code updateUI} on each label. * The UIs are updated from the current look and feel. The labels are also set to their preferred * size. * * @see #setLabelTable * @see JComponent#updateUI */ protected void updateLabelUIs() { Dictionary labelTable = getLabelTable(); if (labelTable == null) { return; } Enumeration labels = labelTable.keys(); while (labels.hasMoreElements()) { JComponent component = (JComponent) labelTable.get(labels.nextElement()); component.updateUI(); component.setSize(component.getPreferredSize()); } }
/** * {@inheritDoc} * * @since 1.7 */ public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h) { if (!isShowing()) { return false; } // Check that there is a label with such image Enumeration elements = labelTable.elements(); while (elements.hasMoreElements()) { Component component = (Component) elements.nextElement(); if (component instanceof JLabel) { JLabel label = (JLabel) component; if (SwingUtilities.doesIconReferenceImage(label.getIcon(), img) || SwingUtilities.doesIconReferenceImage(label.getDisabledIcon(), img)) { return super.imageUpdate(img, infoflags, x, y, w, h); } } } return false; }