java.awt.Image#getProperty()源码实例Demo

下面列出了java.awt.Image#getProperty() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: netbeans   文件: JavaNode.java
private Image prefferImage(Image computed, Image parent, int type) {
    if (computed == null) {
        return parent;
    }
    if (!ALWAYS_PREFFER_COMPUTED_ICON) {
        final Object attrValue = parent.getProperty("url", null);   //NOI18N
        if (attrValue instanceof URL) {
            final String url = attrValue.toString();
            if (!(isJavaSource ? url.endsWith(JAVA_ICON_BASE) : url.endsWith(CLASS_ICON_BASE))) {
                return parent;
            }
        }
    }
    try {
        final FileObject fo = getDataObject().getPrimaryFile ();
        computed = FileUIUtils.getImageDecorator(fo.getFileSystem ()).annotateIcon (
            computed,
            type,
            Collections.singleton(fo));
    } catch (FileStateInvalidException e) {
        // no fs, do nothing
    }
    return computed;
}
 
源代码2 项目: netbeans   文件: ImageUtilities.java
public static ToolTipImage createNew(String toolTipText, Image image, URL url) {
    ImageUtilities.ensureLoaded(image);
    boolean bitmask = (image instanceof Transparency) && ((Transparency) image).getTransparency() != Transparency.TRANSLUCENT;
    ColorModel model = colorModel(bitmask ? Transparency.BITMASK : Transparency.TRANSLUCENT);
    int w = image.getWidth(null);
    int h = image.getHeight(null);
    if (url == null) {
        Object value = image.getProperty("url", null);
        url = (value instanceof URL) ? (URL) value : null;
    }            
    Icon icon = (image instanceof ToolTipImage)
            ? ((ToolTipImage) image).getDelegateIcon() : null;
    ToolTipImage newImage = new ToolTipImage(
        toolTipText,
        icon,
        model,
        model.createCompatibleWritableRaster(w, h),
        model.isAlphaPremultiplied(), null, url
    );

    java.awt.Graphics g = newImage.createGraphics();
    g.drawImage(image, 0, 0, null);
    g.dispose();
    return newImage;
}
 
源代码3 项目: netbeans   文件: ImageUtilities.java
@Override
public Object getProperty(String name, ImageObserver observer) {
    if ("url".equals(name)) { // NOI18N
        /* In some cases it might strictly be more appropriate to return
        Image.UndefinedProperty rather than null (see Javadoc spec for this method), but
        retain the existing behavior and use null instead here. That way there won't be a
        ClassCastException if someone tries to cast to URL. */
        if (url != null) {
            return url;
        } else if (!(delegateIcon instanceof ImageIcon)) {
            return null;
        } else {
            Image image = ((ImageIcon) delegateIcon).getImage();
            if (image == this || image == null) {
                return null;
            }
            return image.getProperty("url", observer);
        }
    }
    return super.getProperty(name, observer);
}
 
源代码4 项目: netbeans   文件: ImageUtilities.java
private static final ToolTipImage doMergeImages(Image image1, Image image2, int x, int y) {
    ensureLoaded(image1);
    ensureLoaded(image2);

    int w = Math.max(image1.getWidth(null), x + image2.getWidth(null));
    int h = Math.max(image1.getHeight(null), y + image2.getHeight(null));
    boolean bitmask = (image1 instanceof Transparency) && ((Transparency)image1).getTransparency() != Transparency.TRANSLUCENT
            && (image2 instanceof Transparency) && ((Transparency)image2).getTransparency() != Transparency.TRANSLUCENT;

    StringBuilder str = new StringBuilder(image1 instanceof ToolTipImage ? ((ToolTipImage)image1).toolTipText : "");
    if (image2 instanceof ToolTipImage) {
        String toolTip = ((ToolTipImage)image2).toolTipText;
        if (str.length() > 0 && toolTip.length() > 0) {
            str.append(TOOLTIP_SEPAR);
        }
        str.append(toolTip);
    }
    Object firstUrl = image1.getProperty("url", null);
    
    ColorModel model = colorModel(bitmask? Transparency.BITMASK: Transparency.TRANSLUCENT);
    // Provide a delegate Icon for scalable rendering.
    Icon delegateIcon = new MergedIcon(image2Icon(image1), image2Icon(image2), x, y);
    ToolTipImage buffImage = new ToolTipImage(str.toString(), delegateIcon,
            model, model.createCompatibleWritableRaster(w, h), model.isAlphaPremultiplied(), null, firstUrl instanceof URL ? (URL)firstUrl : null
        );

    // Also provide an Image-based rendering for backwards-compatibility.
    java.awt.Graphics g = buffImage.createGraphics();
    g.drawImage(image1, 0, 0, null);
    g.drawImage(image2, x, y, null);
    g.dispose();

    return buffImage;
}
 
源代码5 项目: netbeans   文件: ImageUtilitiesTest.java
public void testConvertNullImageIcon() {
    // A corner case which occured during development.
    ImageIcon imageIcon = new ImageIcon();
    Image image = ImageUtilities.icon2Image(imageIcon);
    if (image == null) {
        throw new AssertionError(
                "icon2Image should work even with an ImageIcon for which the image is null");
    }
    // Just ensure there are no NPEs.
    image.getProperty("url", null);
}
 
public static void main(String[] args) {

        Image image = new TestMultiResolutionCachedImage(100);

        image.getWidth(null);
        image.getHeight(null);
        image.getProperty("comment", null);

        int scaledSize = 50;
        Image scaledImage = image.getScaledInstance(scaledSize, scaledSize,
                Image.SCALE_SMOOTH);

        if (!(scaledImage instanceof BufferedImage)) {
            throw new RuntimeException("Wrong scaled image!");
        }

        BufferedImage buffScaledImage = (BufferedImage) scaledImage;

        if (buffScaledImage.getWidth() != scaledSize
                || buffScaledImage.getHeight() != scaledSize) {
            throw new RuntimeException("Wrong scaled image!");
        }

        if (buffScaledImage.getRGB(scaledSize / 2, scaledSize / 2) != TEST_COLOR.getRGB()) {
            throw new RuntimeException("Wrong scaled image!");
        }
    }
 
public static void main(String[] args) {

        Image image = new TestMultiResolutionCachedImage(100);

        image.getWidth(null);
        image.getHeight(null);
        image.getProperty("comment", null);

        int scaledSize = 50;
        Image scaledImage = image.getScaledInstance(scaledSize, scaledSize,
                Image.SCALE_SMOOTH);

        if (!(scaledImage instanceof BufferedImage)) {
            throw new RuntimeException("Wrong scaled image!");
        }

        BufferedImage buffScaledImage = (BufferedImage) scaledImage;

        if (buffScaledImage.getWidth() != scaledSize
                || buffScaledImage.getHeight() != scaledSize) {
            throw new RuntimeException("Wrong scaled image!");
        }

        if (buffScaledImage.getRGB(scaledSize / 2, scaledSize / 2) != TEST_COLOR.getRGB()) {
            throw new RuntimeException("Wrong scaled image!");
        }
    }
 
源代码8 项目: netbeans   文件: UnitDetails.java
private void buildUnitText(Unit u, StringBuilder text, boolean collectDependencies) {
    if (u instanceof Unit.Available) {
        Unit.Available u1 = (Unit.Available) u;
        Image c = u1.getSourceIcon();
        Object url = c.getProperty("url", null);
        String categoryName = u1.getSourceDescription();
        text.append("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>");
        if (url instanceof URL) {
            text.append("<td><img src=\"").append(url).append("\"></img></td>");
        }
        text.append("<td></td>");
        text.append("<td>&nbsp;&nbsp;</td>");
        text.append("<td><b>").append(categoryName).append("</b></td>");
        text.append("</tr></table><br>");
    }

    if (Utilities.modulesOnly() || Utilities.showExtendedDescription()) {
        text.append("<b>").append(getBundle("UnitDetails_Plugin_CodeName")).append("</b>").append(u.updateUnit.getCodeName()); // NOI18N
        text.append("<br>");

    }
    String desc = null;
    if (u instanceof Unit.Update) {
        Unit.Update uu = ((Unit.Update) u);
        text.append("<b>").append(getBundle("UnitDetails_Plugin_InstalledVersion")).append("</b>").append(uu.getInstalledVersion()).append("<br>"); // NOI18N
        text.append("<b>").append(getBundle("UnitDetails_Plugin_AvailableVersion")).append("</b>").append(uu.getAvailableVersion()).append("<br>"); // NOI18N
        desc = getDependencies(uu, collectDependencies);
    } else {
        text.append("<b>").append(getBundle("UnitDetails_Plugin_Version")).append("</b>").append(u.getDisplayVersion()).append("<br>"); // NOI18N
    }
    if (u.getAuthor() != null && u.getAuthor().length() > 0) {
        text.append("<b>").append(getBundle("UnitDetails_Plugin_Author")).append("</b>").append(u.getAuthor()).append("<br>"); // NOI18N
    }
    if (u.getDisplayDate() != null && u.getDisplayDate().length() > 0) {
        text.append("<b>").append(getBundle("UnitDetails_Plugin_Date")).append("</b>").append(u.getDisplayDate()).append("<br>"); // NOI18N
    }
    text.append("<b>").append(getBundle("UnitDetails_Plugin_Source")).append("</b>").append(u.getSource()).append("<br>"); // NOI18N

    if (u.getHomepage() != null && u.getHomepage().length() > 0) {
        text.append("<b>").append(getBundle("UnitDetails_Plugin_Homepage")).append("</b><a href=\"").append(u.getHomepage()).append("\">").append(u.getHomepage()).append("</a><br>"); // NOI18N
    }

    if (u.getNotification() != null && u.getNotification().length() > 0) {
        text.append("<br><h3>").append(getBundle("UnitDetails_Plugin_Notification")).append("</h3>"); // NOI18N
        text.append("<font color=\"red\">"); // NOI18N
        text.append(u.getNotification());
        text.append("</font><br>");  // NOI18N
    }

    if (u.getDescription() != null && u.getDescription().length() > 0) {
        text.append("<br><h3>").append(getBundle("UnitDetails_Plugin_Description")).append("</h3>"); // NOI18N
        String description = u.getDescription();
        if(description.toLowerCase().startsWith("<html>")) {
            text.append(description.substring(6));
        } else {
            text.append(description);
        }
    }
    if (desc != null && desc.length() > 0) {
        text.append("<br><br><h4>").append(getBundle("Unit_InternalUpdates_Title")).append("</h4>"); // NOI18N
        text.append(desc);
    }
}