This is an automated email from the ASF dual-hosted git repository. ebakke pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans.git
commit aa80a4849fd884d6dbb4a721fa433607d17d0f0e Author: Eirik Bakke <[email protected]> AuthorDate: Sat Jan 25 14:31:46 2025 -0500 More work on centralizing icon loading to ImageUtilities. This is a follow-up on https://github.com/apache/netbeans/pull/8114 and https://github.com/apache/netbeans/pull/8109 . To render at full HiDPI resolution, Icon/Image instances must be created via the methods in ImageUtilities rather than, in particular, the constructors of ImageIcon. This PR, combined with the previously mentioned PRs, handles most of the remaining cases. Specifically: * Search for 'new ImageIcon(' and rewrite each case to use ImageUtilities to load icons instead. * Search for 'instanceof ImageIcon' and generalize to 'instanceof Icon' when appropriate. * Search for 'getLookAndFeel*getDisabledIcon' and switch to ImageUtilities.createDisabledIcon. --- .../configbean/customizers/common/InputDialog.java | 5 +- .../share/configbean/customizers/common/Util.java | 31 --------- .../web/beans/actions/InterceptorPanel.java | 14 +--- .../modules/web/monitor/client/SortButton.java | 11 ++- .../web/monitor/client/TransactionView.java | 27 ++++---- .../websvc/design/view/widget/ButtonWidget.java | 5 +- .../tools/ant/module/loader/AntActionInstance.java | 10 +-- .../tools/ant/module/run/TargetExecutor.java | 9 +-- .../csl/editor/completion/GsfCompletionItem.java | 80 ---------------------- .../modules/db/dataview/output/DataViewUI.java | 26 +++---- .../visualeditor/querybuilder/QueryBuilder.java | 9 +-- .../querybuilder/QueryBuilderGraphFrame.java | 18 ++--- .../completion/support/CompletionUtilities.java | 9 ++- .../modules/editor/errorstripe/AnnotationView.java | 4 +- .../editor/macros/storage/ui/TableSorter.java | 6 +- .../modules/git/ui/branch/CreateBranch.java | 2 +- .../git/ui/checkout/AbstractCheckoutRevision.java | 2 +- .../modules/git/ui/commit/GitCommitPanel.java | 4 +- .../netbeans/modules/git/ui/stash/SaveStash.java | 2 +- .../org/netbeans/modules/git/ui/tag/CreateTag.java | 2 +- .../completion/HtmlPaletteCompletionProvider.java | 7 +- ide/lib.terminalemulator/nbproject/project.xml | 8 +++ .../lib/terminalemulator/support/FindBar.java | 7 +- .../netbeans/modules/lsp/client/LSPBindings.java | 2 +- .../client/bindings/CompletionProviderImpl.java | 3 +- .../modules/mercurial/ui/commit/CommitPanel.java | 4 +- .../modules/refactoring/spi/impl/ErrorPanel.java | 13 ++-- .../ui/views/debugging/ThreadsHistoryAction.java | 13 +--- .../modules/subversion/ui/commit/CommitPanel.java | 5 +- .../netbeans/modules/openfile/PackagePanel.java | 6 +- .../util/common/VCSCommitParameters.java | 6 +- .../web/common/ui/api/FileReferenceCompletion.java | 3 +- .../xml/schema/completion/AttributeResultItem.java | 8 +-- .../schema/completion/CompletionResultItem.java | 2 +- .../xml/schema/completion/ElementResultItem.java | 8 +-- .../xml/schema/completion/ValueResultItem.java | 5 +- .../modules/xml/text/completion/IconStore.java | 73 -------------------- .../src/org/netbeans/modules/form/FormToolBar.java | 3 +- .../layoutsupport/delegates/GridBagCustomizer.java | 4 +- .../modules/editor/java/JavaCompletionItem.java | 29 ++++---- .../java/editor/overridden/IsOverriddenPopup.java | 3 +- .../jshell/editor/CommandCompletionProvider.java | 2 +- .../modules/jshell/editor/ConsoleEditor.java | 8 +-- .../completion/SpringXMLConfigCompletionItem.java | 2 +- .../editor/completion/impl/ResourcePathItem.java | 2 +- .../modules/php/api/framework/BadgeIcon.java | 5 +- .../php/editor/completion/FSCompletion.java | 3 +- .../php/editor/completion/PHPCompletionItem.java | 2 +- .../editor/completion/TplCompletionItem.java | 3 +- .../org/netbeans/swing/etable/ETableHeader.java | 38 +--------- .../openide.awt/src/org/openide/awt/Actions.java | 9 --- .../modules/options/keymap/TableSorter.java | 6 +- .../src/org/netbeans/modules/print/util/UI.java | 5 +- profiler/lib.profiler.ui/nbproject/project.xml | 8 +++ .../tree/MethodNameTreeCellRenderer.java | 13 ++-- .../lib/profiler/ui/cpu/CPUJavaNameRenderer.java | 8 +-- .../lib/profiler/ui/jdbc/JDBCJavaNameRenderer.java | 8 +-- .../profiler/ui/memory/MemoryJavaNameRenderer.java | 4 +- .../netbeans/modules/profiler/api/icons/Icons.java | 8 ++- .../profiler/heapwalk/model/BrowserUtils.java | 7 +- .../javascript2/editor/FSCompletionItem.java | 3 +- .../javascript2/editor/JsCompletionItem.java | 12 ++-- .../requirejs/editor/FSCompletionItem.java | 5 +- .../requirejs/editor/MappingCompletionItem.java | 2 +- 64 files changed, 204 insertions(+), 447 deletions(-) diff --git a/enterprise/j2ee.sun.ddui/src/org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/InputDialog.java b/enterprise/j2ee.sun.ddui/src/org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/InputDialog.java index fbc30d59aa7..31658f8657c 100644 --- a/enterprise/j2ee.sun.ddui/src/org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/InputDialog.java +++ b/enterprise/j2ee.sun.ddui/src/org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/InputDialog.java @@ -48,6 +48,7 @@ import javax.swing.JPanel; import org.netbeans.modules.j2ee.sun.share.configbean.Utils; import org.openide.awt.Mnemonics; import org.openide.util.HelpCtx; +import org.openide.util.ImageUtilities; /* A modal dialog object with Ok, Cancel, Help buttons and an optional required @@ -287,7 +288,7 @@ public abstract class InputDialog extends JDialog implements HelpCtx.Provider { // Add warning message JLabel label = new JLabel(); - label.setIcon(Util.warningMessageIcon); + label.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/resources/warningIcon.png")); label.setText("<html>" + message + "</html>"); // NOI18N label.getAccessibleContext().setAccessibleName(bundle.getString("ASCN_WarningMessage")); // NOI18N label.getAccessibleContext().setAccessibleDescription(message); @@ -308,7 +309,7 @@ public abstract class InputDialog extends JDialog implements HelpCtx.Provider { // Add error message JLabel label = new JLabel(); - label.setIcon(Util.errorMessageIcon); + label.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/resources/errorIcon.png")); label.setText("<html>" + message + "</html>"); // NOI18N label.getAccessibleContext().setAccessibleName(bundle.getString("ASCN_ErrorMessage")); // NOI18N label.getAccessibleContext().setAccessibleDescription(message); diff --git a/enterprise/j2ee.sun.ddui/src/org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/Util.java b/enterprise/j2ee.sun.ddui/src/org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/Util.java index 2b420807cb0..02917c6c0a6 100644 --- a/enterprise/j2ee.sun.ddui/src/org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/Util.java +++ b/enterprise/j2ee.sun.ddui/src/org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/Util.java @@ -20,10 +20,7 @@ package org.netbeans.modules.j2ee.sun.share.configbean.customizers.common; import java.awt.Color; -import javax.swing.ImageIcon; import javax.swing.UIManager; -import org.netbeans.modules.j2ee.sun.share.configbean.Utils; -import org.openide.ErrorManager; /** @@ -35,34 +32,6 @@ public class Util { private Util() { } - /** Error/warning message icons. - */ - private static final String errorIconPath = - "org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/resources/errorIcon.png"; // NOI18N - private static final String warningIconPath = - "org/netbeans/modules/j2ee/sun/share/configbean/customizers/common/resources/warningIcon.png"; // NOI18N - - public static ImageIcon errorMessageIcon; - public static ImageIcon warningMessageIcon; - - static { - // Diagnostic test code to try to get more information about a suspicious intermittant exception - // (This is circa NB 4.1, so it may not be necessary anymore). - try { - errorMessageIcon = new ImageIcon(Utils.getResourceURL(errorIconPath, InputDialog.class)); - } catch(NullPointerException ex) { - ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, ex); - errorMessageIcon = null; - } - try { - warningMessageIcon = new ImageIcon(Utils.getResourceURL(warningIconPath, InputDialog.class)); - } catch(NullPointerException ex) { - ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, ex); - warningMessageIcon = null; - } - } - - /** !PW Foreground color for error message text when in the NetBeans IDE. * See http://ui.netbeans.org/docs/inline_errors/index.html, about * halfway down, for specification. (Was light blue: [89, 79, 191]) diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorPanel.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorPanel.java index be924b29d32..de20fa43db6 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorPanel.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorPanel.java @@ -24,16 +24,13 @@ */ package org.netbeans.modules.web.beans.actions; -import java.net.MalformedURLException; -import java.net.URL; - -import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; import org.openide.filesystems.FileObject; +import org.openide.util.ImageUtilities; import org.openide.util.NbBundle; import org.openide.util.Utilities; @@ -58,14 +55,7 @@ public class InterceptorPanel extends javax.swing.JPanel { myInterceptorName.getDocument().addDocumentListener( createValidationListener( approveButton ) ); myInterceptorName.setText( getProposedName() ); - URL errorUrl; - try { - errorUrl = new URL("nbresloc:/org/netbeans/modules/dialogs/error.gif"); - myStatusLbl.setIcon( new ImageIcon( errorUrl )); - } - catch (MalformedURLException e) { - assert false; - } + myStatusLbl.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/dialogs/error.gif")); myStatusLbl.setVisible( false ); } diff --git a/enterprise/web.monitor/src/org/netbeans/modules/web/monitor/client/SortButton.java b/enterprise/web.monitor/src/org/netbeans/modules/web/monitor/client/SortButton.java index 9facd578558..a5e77a7f3e7 100644 --- a/enterprise/web.monitor/src/org/netbeans/modules/web/monitor/client/SortButton.java +++ b/enterprise/web.monitor/src/org/netbeans/modules/web/monitor/client/SortButton.java @@ -27,7 +27,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.logging.Logger; import javax.swing.Icon; -import javax.swing.ImageIcon; +import org.openide.util.ImageUtilities; import javax.swing.JButton; import org.openide.util.NbBundle; @@ -41,12 +41,9 @@ class SortButton extends JButton { public SortButton(final DisplayTable dt) { super(); - icon[0] = new ImageIcon(TransactionView.class.getResource - ("/org/netbeans/modules/web/monitor/client/icons/unsorted.gif")); // NOI18N) - icon[1] = new ImageIcon(TransactionView.class.getResource - ("/org/netbeans/modules/web/monitor/client/icons/a2z.gif")); // NOI18N - icon[2] = new ImageIcon(TransactionView.class.getResource - ("/org/netbeans/modules/web/monitor/client/icons/z2a.gif")); // NOI18N + icon[0] = ImageUtilities.loadIcon("org/netbeans/modules/web/monitor/client/icons/unsorted.gif"); // NOI18N) + icon[1] = ImageUtilities.loadIcon("org/netbeans/modules/web/monitor/client/icons/a2z.gif"); // NOI18N + icon[2] = ImageUtilities.loadIcon("org/netbeans/modules/web/monitor/client/icons/z2a.gif"); // NOI18N setIcon(icon[state]); setBorder(null); setBorderPainted(false); diff --git a/enterprise/web.monitor/src/org/netbeans/modules/web/monitor/client/TransactionView.java b/enterprise/web.monitor/src/org/netbeans/modules/web/monitor/client/TransactionView.java index a62f147d5d3..2ee225f8702 100644 --- a/enterprise/web.monitor/src/org/netbeans/modules/web/monitor/client/TransactionView.java +++ b/enterprise/web.monitor/src/org/netbeans/modules/web/monitor/client/TransactionView.java @@ -61,6 +61,7 @@ import org.openide.util.HelpCtx; import org.openide.util.NbBundle; import org.openide.util.RequestProcessor; import org.netbeans.modules.web.monitor.data.DataRecord; +import org.openide.util.ImageUtilities; /** * Update title does not work like it should. Maybe there is a getName @@ -127,8 +128,7 @@ class TransactionView extends TopComponent implements ExplorerManager.Provider, * retrieve any data until the Monitor is opened. */ private TransactionView() { - setIcon(new ImageIcon(TransactionView.class.getResource - ("/org/netbeans/modules/web/monitor/client/icons/menuitem.gif")).getImage()); + setIcon(ImageUtilities.loadImage("org/netbeans/modules/web/monitor/client/icons/menuitem.gif")); setToolTipText(NbBundle.getMessage(TransactionView.class, "MON_Window_Tooltip")); controller = Controller.getInstance(); initialize(); @@ -285,16 +285,16 @@ class TransactionView extends TopComponent implements ExplorerManager.Provider, )); buttonPanel.setFloatable (false); - JButton updateButton = new JButton(new ImageIcon(TransactionView.class.getResource - ("/org/netbeans/modules/web/monitor/client/icons/update.gif"))); // NOI18N + JButton updateButton = new JButton(ImageUtilities.loadIcon( + "org/netbeans/modules/web/monitor/client/icons/update.gif")); // NOI18N updateButton.setToolTipText(NbBundle.getBundle(TransactionView.class).getString("MON_Reload_all_17")); updateButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { controller.getTransactions(); }}); - timeAButton = new JToggleButton(new ImageIcon( - TransactionView.class.getResource("/org/netbeans/modules/web/monitor/client/icons/timesortA.gif")), false); + timeAButton = new JToggleButton(ImageUtilities.loadIcon( + "org/netbeans/modules/web/monitor/client/icons/timesortA.gif"), false); timeAButton.setToolTipText(NbBundle.getBundle(TransactionView.class).getString("MON_Order_transactions_15")); timeAButton.addActionListener(new ActionListener() { @@ -310,8 +310,8 @@ class TransactionView extends TopComponent implements ExplorerManager.Provider, } }}); - timeDButton = new JToggleButton(new ImageIcon( - TransactionView.class.getResource("/org/netbeans/modules/web/monitor/client/icons/timesortB.gif")), true); + timeDButton = new JToggleButton(ImageUtilities.loadIcon( + "org/netbeans/modules/web/monitor/client/icons/timesortB.gif"), true); timeDButton.setToolTipText(NbBundle.getBundle(TransactionView.class).getString("MON_Order_transactions_16")); timeDButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -327,8 +327,8 @@ class TransactionView extends TopComponent implements ExplorerManager.Provider, }}); - alphaButton = new JToggleButton(new ImageIcon( - TransactionView.class.getResource("/org/netbeans/modules/web/monitor/client/icons/a2z.gif")), false); + alphaButton = new JToggleButton(ImageUtilities.loadIcon( + "org/netbeans/modules/web/monitor/client/icons/a2z.gif"), false); alphaButton.setToolTipText(NbBundle.getBundle(TransactionView.class).getString("MON_Order_transactions_14")); alphaButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -345,10 +345,9 @@ class TransactionView extends TopComponent implements ExplorerManager.Provider, }}); - timestampButton = new - JToggleButton(new ImageIcon( - TransactionView.class.getResource("/org/netbeans/modules/web/monitor/client/icons/timestamp.gif")), - TransactionNode.showTimeStamp()); + timestampButton = new JToggleButton( + ImageUtilities.loadIcon("org/netbeans/modules/web/monitor/client/icons/timestamp.gif"), + TransactionNode.showTimeStamp()); timestampButton.setToolTipText(NbBundle.getBundle(TransactionView.class).getString("MON_Show_time_25")); timestampButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { diff --git a/enterprise/websvc.design/src/org/netbeans/modules/websvc/design/view/widget/ButtonWidget.java b/enterprise/websvc.design/src/org/netbeans/modules/websvc/design/view/widget/ButtonWidget.java index 1cdb6bd0836..d0698559da9 100644 --- a/enterprise/websvc.design/src/org/netbeans/modules/websvc/design/view/widget/ButtonWidget.java +++ b/enterprise/websvc.design/src/org/netbeans/modules/websvc/design/view/widget/ButtonWidget.java @@ -36,7 +36,7 @@ import java.beans.PropertyChangeListener; import java.util.HashMap; import java.util.Map; import javax.swing.Action; -import javax.swing.ImageIcon; +import javax.swing.Icon; import javax.swing.JButton; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.SelectProvider; @@ -47,6 +47,7 @@ import org.netbeans.api.visual.model.ObjectScene; import org.netbeans.api.visual.model.ObjectState; import org.netbeans.api.visual.widget.Scene; import org.netbeans.api.visual.widget.Widget; +import org.openide.util.ImageUtilities; /** * @author Ajit Bhate @@ -261,7 +262,7 @@ public class ButtonWidget extends ImageLabelWidget implements PropertyChangeList private static Image getActionIcon(Action action) { Object icon = action.getValue(Action.SMALL_ICON); - return (icon instanceof ImageIcon ? ((ImageIcon)icon).getImage(): null); + return (icon instanceof Icon ? ImageUtilities.icon2Image((Icon)icon): null); } private static String getActionTooltip(Action action) { diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/loader/AntActionInstance.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/loader/AntActionInstance.java index 38ed61c55ec..680af746a1d 100644 --- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/loader/AntActionInstance.java +++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/loader/AntActionInstance.java @@ -26,12 +26,9 @@ import java.beans.PropertyChangeListener; import java.io.File; import java.io.IOException; import java.io.ObjectInputStream; -import java.net.MalformedURLException; -import java.net.URL; import java.util.Arrays; import javax.swing.AbstractAction; import javax.swing.Action; -import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JMenuItem; @@ -49,6 +46,7 @@ import org.openide.awt.Mnemonics; import org.openide.cookies.InstanceCookie; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; +import org.openide.util.ImageUtilities; import org.openide.util.actions.Presenter; import org.openide.util.RequestProcessor; import org.openide.util.WeakListeners; @@ -163,11 +161,7 @@ public class AntActionInstance extends AbstractAction return Actions.cutAmpersand(pname); } } else if (Action.SMALL_ICON.equals (key)) { - try { - return new ImageIcon(new URL("nbresloc:/org/apache/tools/ant/module/resources/AntIcon.gif")); - } catch (MalformedURLException e) { - throw new AssertionError(e); - } + return ImageUtilities.loadImageIcon("org/apache/tools/ant/module/resources/AntIcon.gif", false); } else if (Action.MNEMONIC_KEY.equals (key)) { Element el = proj.getProjectElement (); if (el != null) { diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/TargetExecutor.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/TargetExecutor.java index 54e6ae934a1..519f8f5a8df 100644 --- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/TargetExecutor.java +++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/run/TargetExecutor.java @@ -64,6 +64,7 @@ import org.openide.filesystems.FileObject; import org.openide.filesystems.FileRenameEvent; import org.openide.filesystems.FileUtil; import org.openide.util.Cancellable; +import org.openide.util.ImageUtilities; import org.openide.util.Mutex; import org.openide.util.NbBundle; import org.openide.util.Pair; @@ -203,7 +204,7 @@ public final class TargetExecutor implements Runnable { @Override public Object getValue(String key) { if (key.equals(Action.SMALL_ICON)) { - return new ImageIcon(TargetExecutor.class.getResource("/org/apache/tools/ant/module/resources/stop.png")); + return ImageUtilities.loadImageIcon("org/apache/tools/ant/module/resources/stop.png", false); } else if (key.equals(Action.SHORT_DESCRIPTION)) { return NbBundle.getMessage(TargetExecutor.class, "TargetExecutor.StopAction.stop"); } else { @@ -259,9 +260,9 @@ public final class TargetExecutor implements Runnable { public Object getValue(String key) { if (key.equals(Action.SMALL_ICON)) { if (withModifications) { - return new ImageIcon(TargetExecutor.class.getResource("/org/apache/tools/ant/module/resources/rerun-mod.png")); + return ImageUtilities.loadImageIcon("org/apache/tools/ant/module/resources/rerun-mod.png", false); } else { - return new ImageIcon(TargetExecutor.class.getResource("/org/apache/tools/ant/module/resources/rerun.png")); + return ImageUtilities.loadImageIcon("org/apache/tools/ant/module/resources/rerun.png", false); } } else if (key.equals(Action.SHORT_DESCRIPTION)) { if (withModifications) { @@ -332,7 +333,7 @@ public final class TargetExecutor implements Runnable { @Override public Object getValue(String key) { if (key.equals(Action.SMALL_ICON)) { - return new ImageIcon(TargetExecutor.class.getResource("/org/apache/tools/ant/module/resources/options.png")); + return ImageUtilities.loadImageIcon("org/apache/tools/ant/module/resources/options.png", false); } else if (key.equals(Action.SHORT_DESCRIPTION)) { return NbBundle.getMessage(TargetExecutor.class, "TargetExecutor.OptionsAction"); } else { diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/completion/GsfCompletionItem.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/completion/GsfCompletionItem.java index 8e0b8ea1eb9..e40c9658123 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/completion/GsfCompletionItem.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/completion/GsfCompletionItem.java @@ -237,88 +237,8 @@ public abstract class GsfCompletionItem implements CompletionItem { ImageIcon imageIcon = org.netbeans.modules.csl.navigation.Icons.getElementIcon(item.getKind(), item.getModifiers()); // TODO - cache! return imageIcon; -// -// -// ElementKind kind = item.getKind(); -// switch (kind) { -// case CONSTRUCTOR: -// case METHOD: -// return getMethodIcon(); -// case ATTRIBUTE: -// case FIELD: -// return getFieldIcon(); -// case CLASS: -// case INTERFACE: -// return getClassIcon(); -// case MODULE: -// return getModuleIcon(); -// case CONSTANT: -// return getConstantIcon(); -// case VARIABLE: -// return getVariableIcon(); -// case KEYWORD: -// return getKeywordIcon(); -// case OTHER: -// } -// -// return null; } -// protected ImageIcon getMethodIcon() { -// Set<Modifier> modifiers = item.getModifiers(); -// -// boolean isStatic = modifiers.contains(Modifier.STATIC); -//// int level = getProtectionLevel(elem.getModifiers()); -// -// ImageIcon cachedIcon = icon[isStatic?1:0][level]; -// if (cachedIcon != null) { -// return cachedIcon; -// } -// -// String iconPath = METHOD_PUBLIC; -// if (isStatic) { -// switch (level) { -// case PRIVATE_LEVEL: -// iconPath = METHOD_ST_PRIVATE; -// break; -// -// case PACKAGE_LEVEL: -// iconPath = METHOD_ST_PACKAGE; -// break; -// -// case PROTECTED_LEVEL: -// iconPath = METHOD_ST_PROTECTED; -// break; -// -// case PUBLIC_LEVEL: -// iconPath = METHOD_ST_PUBLIC; -// break; -// } -// }else{ -// switch (level) { -// case PRIVATE_LEVEL: -// iconPath = METHOD_PRIVATE; -// break; -// -// case PACKAGE_LEVEL: -// iconPath = METHOD_PACKAGE; -// break; -// -// case PROTECTED_LEVEL: -// iconPath = METHOD_PROTECTED; -// break; -// -// case PUBLIC_LEVEL: -// iconPath = METHOD_PUBLIC; -// break; -// } -// } -// ImageIcon newIcon = new ImageIcon(org.openide.util.Utilities.loadImage(iconPath)); -// icon[isStatic?1:0][level] = newIcon; -// return newIcon; -// } - - @Override protected void substituteText(final JTextComponent c, int offset, int len, String toAdd) { if (completionResult != null) { diff --git a/ide/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java b/ide/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java index e3a684569d2..10adab52e08 100644 --- a/ide/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java +++ b/ide/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java @@ -36,7 +36,6 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.net.URL; import java.util.Set; import javax.swing.AbstractButton; @@ -61,6 +60,7 @@ import org.netbeans.modules.db.dataview.table.JXTableRowHeader; import org.netbeans.modules.db.dataview.table.MultiColPatternFilter; import org.netbeans.modules.db.dataview.table.ResultSetJXTable; import static org.netbeans.modules.db.dataview.table.SuperPatternFilter.MODE.LITERAL_FIND; +import org.openide.util.ImageUtilities; import org.openide.util.NbBundle; /** @@ -72,7 +72,7 @@ import org.openide.util.NbBundle; "LBL_fetched_rows=Fetched Rows:" }) class DataViewUI extends JPanel { - private static final String IMG_PREFIX = "/org/netbeans/modules/db/dataview/images/"; // NOI18N + private static final String IMG_PREFIX = "org/netbeans/modules/db/dataview/images/"; // NOI18N private final JButton[] editButtons = new JButton[5]; private final DataViewTableUI dataPanel; @@ -237,8 +237,7 @@ class DataViewUI extends JPanel { dataPanelScrollPane.setRowHeaderView(rowHeader); dataPanelScrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER, rowHeader.getTableHeader()); - URL url = getClass().getResource(IMG_PREFIX + "preferences-desktop.png"); // NOI18N - ImageIcon icon = new ImageIcon(url); + ImageIcon icon = ImageUtilities.loadImageIcon(IMG_PREFIX + "preferences-desktop.png", false); // NOI18N JButton cornerButton = new JButton() { @Override protected void paintComponent(Graphics g) { @@ -432,8 +431,7 @@ class DataViewUI extends JPanel { toolbar.addSeparator(new Dimension(10, 10)); //add refresh button - URL url = getClass().getResource(IMG_PREFIX + "refresh.png"); // NOI18N - refreshButton = new JButton(new ImageIcon(url)); + refreshButton = new JButton(ImageUtilities.loadIcon(IMG_PREFIX + "refresh.png")); // NOI18N refreshButton.setToolTipText(NbBundle.getMessage(DataViewUI.class, "TOOLTIP_refresh")); refreshButton.addActionListener(outputListener); processButton(refreshButton); @@ -515,9 +513,7 @@ class DataViewUI extends JPanel { } private void initVerticalToolbar(ActionListener outputListener) { - - URL url = getClass().getResource(IMG_PREFIX + "row_add.png"); // NOI18N - insert = new JButton(new ImageIcon(url)); + insert = new JButton(ImageUtilities.loadIcon(IMG_PREFIX + "row_add.png")); // NOI18N insert.setToolTipText(NbBundle.getMessage(DataViewUI.class, "TOOLTIP_insert")+" (Alt+I)"); insert.setMnemonic('I'); insert.addActionListener(outputListener); @@ -525,24 +521,21 @@ class DataViewUI extends JPanel { processButton(insert); editButtons[0] = insert; - url = getClass().getResource(IMG_PREFIX + "row_delete.png"); // NOI18N - deleteRow = new JButton(new ImageIcon(url)); + deleteRow = new JButton(ImageUtilities.loadIcon(IMG_PREFIX + "row_delete.png")); // NOI18N deleteRow.setToolTipText(NbBundle.getMessage(DataViewUI.class, "TOOLTIP_deleterow")); deleteRow.addActionListener(outputListener); deleteRow.setEnabled(false); processButton(deleteRow); editButtons[1] = deleteRow; - url = getClass().getResource(IMG_PREFIX + "row_commit.png"); // NOI18N - commit = new JButton(new ImageIcon(url)); + commit = new JButton(ImageUtilities.loadIcon(IMG_PREFIX + "row_commit.png")); // NOI18N commit.setToolTipText(NbBundle.getMessage(DataViewUI.class, "TOOLTIP_commit_all")); commit.addActionListener(outputListener); commit.setEnabled(false); processButton(commit); editButtons[2] = commit; - url = getClass().getResource(IMG_PREFIX + "cancel_edits.png"); // NOI18N - cancel = new JButton(new ImageIcon(url)); + cancel = new JButton(ImageUtilities.loadIcon(IMG_PREFIX + "cancel_edits.png")); // NOI18N cancel.setToolTipText(NbBundle.getMessage(DataViewUI.class, "TOOLTIP_cancel_edits_all")); cancel.addActionListener(outputListener); cancel.setEnabled(false); @@ -550,8 +543,7 @@ class DataViewUI extends JPanel { editButtons[3] = cancel; //add truncate button - url = getClass().getResource(IMG_PREFIX + "table_truncate.png"); // NOI18N - truncateButton = new JButton(new ImageIcon(url)); + truncateButton = new JButton(ImageUtilities.loadIcon(IMG_PREFIX + "table_truncate.png")); // NOI18N truncateButton.setToolTipText(NbBundle.getMessage(DataViewUI.class, "TOOLTIP_truncate_table")+" (Alt+T)"); truncateButton.setMnemonic('T'); truncateButton.addActionListener(outputListener); diff --git a/ide/db.sql.visualeditor/src/org/netbeans/modules/db/sql/visualeditor/querybuilder/QueryBuilder.java b/ide/db.sql.visualeditor/src/org/netbeans/modules/db/sql/visualeditor/querybuilder/QueryBuilder.java index 8b49cd71961..51081974bc6 100644 --- a/ide/db.sql.visualeditor/src/org/netbeans/modules/db/sql/visualeditor/querybuilder/QueryBuilder.java +++ b/ide/db.sql.visualeditor/src/org/netbeans/modules/db/sql/visualeditor/querybuilder/QueryBuilder.java @@ -49,6 +49,7 @@ import java.util.ArrayList; import java.util.List; import java.util.logging.Level; +import java.awt.Image; import org.netbeans.api.db.explorer.ConnectionManager; import org.netbeans.modules.db.sql.visualeditor.QueryEditorUILogger; @@ -77,6 +78,7 @@ import org.netbeans.modules.db.sql.visualeditor.Log; import org.netbeans.api.db.explorer.DatabaseConnection; import org.netbeans.api.db.sql.support.SQLIdentifiers; +import org.openide.util.ImageUtilities; import org.openide.util.Exceptions; /** @@ -201,10 +203,9 @@ public class QueryBuilder extends TopComponent setLayout(new java.awt.BorderLayout()); - ImageIcon imgIcon = - new ImageIcon(getClass().getResource("/org/netbeans/modules/db/sql/visualeditor/resources/query-editor-tab.png")); // NOI18N - if (imgIcon != null) - setIcon(imgIcon.getImage()); + Image icon = ImageUtilities.loadImage("org/netbeans/modules/db/sql/visualeditor/resources/query-editor-tab.png"); // NOI18N + if (icon != null) + setIcon(icon); _queryBuilderPane = new QueryBuilderPane(this); diff --git a/ide/db.sql.visualeditor/src/org/netbeans/modules/db/sql/visualeditor/querybuilder/QueryBuilderGraphFrame.java b/ide/db.sql.visualeditor/src/org/netbeans/modules/db/sql/visualeditor/querybuilder/QueryBuilderGraphFrame.java index 0574c3a646c..dba9b4c10c2 100644 --- a/ide/db.sql.visualeditor/src/org/netbeans/modules/db/sql/visualeditor/querybuilder/QueryBuilderGraphFrame.java +++ b/ide/db.sql.visualeditor/src/org/netbeans/modules/db/sql/visualeditor/querybuilder/QueryBuilderGraphFrame.java @@ -98,6 +98,7 @@ import org.netbeans.api.visual.anchor.AnchorShapeFactory; import org.netbeans.api.visual.action.PopupMenuProvider; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.SelectProvider; +import org.openide.util.ImageUtilities; import org.openide.util.Exceptions; /** @@ -162,12 +163,6 @@ public class QueryBuilderGraphFrame extends JPanel private boolean _inputTableAddCriteria = false; - java.net.URL url_primary_key = - getClass().getResource("/org/netbeans/modules/db/sql/visualeditor/resources/primaryKey.gif"); // NOI18N - java.net.URL url_foreign_key = - getClass().getResource("/org/netbeans/modules/db/sql/visualeditor/resources/foreignKey.gif"); // NOI18N - - // Constructor // Note that this takes as parameter the models that underlie the other three panes. @@ -1052,12 +1047,13 @@ public class QueryBuilderGraphFrame extends JPanel // JLabel (String text, Icon image, SwingConstants.LEFT); // We used to use toUpperCase() during comparison, but drop that now that we are // canonicalizing table/column names. - if (primaryKeys.contains(columnName.trim())) - dbData[i][1] = new ImageIcon(url_primary_key); - else if (foreignKeyCols.contains(columnName.trim())) - dbData[i][1] = new ImageIcon(url_foreign_key); - else + if (primaryKeys.contains(columnName.trim())) { + dbData[i][1] = ImageUtilities.loadImageIcon("org/netbeans/modules/db/sql/visualeditor/resources/primaryKey.gif", false); + } else if (foreignKeyCols.contains(columnName.trim())) { + dbData[i][1] = ImageUtilities.loadImageIcon("org/netbeans/modules/db/sql/visualeditor/resources/foreignKey.gif", false); + } else { dbData[i][1] = null; + } dbData[i][2] = columnName; _queryBuilderInputTable.addRow(tableSpec, columnName); diff --git a/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/CompletionUtilities.java b/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/CompletionUtilities.java index 89a5e720191..1b45e3cd3e7 100644 --- a/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/CompletionUtilities.java +++ b/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/CompletionUtilities.java @@ -144,12 +144,11 @@ public final class CompletionUtilities { * to be black for all parts of the rendered strings. */ public static void renderHtml(ImageIcon icon, String leftHtmlText, String rightHtmlText, - Graphics g, Font defaultFont, Color defaultColor, - int width, int height, boolean selected) { + Graphics g, Font defaultFont, Color defaultColor, + int width, int height, boolean selected) + { if (icon != null) { - // The image of the ImageIcon should already be loaded - // so no ImageObserver should be necessary - g.drawImage(icon.getImage(), BEFORE_ICON_GAP, (height - icon.getIconHeight()) /2, null); + icon.paintIcon(null, g, BEFORE_ICON_GAP, (height - icon.getIconHeight()) /2); } int iconWidth = BEFORE_ICON_GAP + (icon != null ? icon.getIconWidth() : ICON_WIDTH) + AFTER_ICON_GAP; int rightTextX = width - AFTER_RIGHT_TEXT_GAP; diff --git a/ide/editor.errorstripe/src/org/netbeans/modules/editor/errorstripe/AnnotationView.java b/ide/editor.errorstripe/src/org/netbeans/modules/editor/errorstripe/AnnotationView.java index 61d33e10a13..ab9caf6aae4 100644 --- a/ide/editor.errorstripe/src/org/netbeans/modules/editor/errorstripe/AnnotationView.java +++ b/ide/editor.errorstripe/src/org/netbeans/modules/editor/errorstripe/AnnotationView.java @@ -38,7 +38,6 @@ import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.swing.Icon; -import javax.swing.ImageIcon; import javax.swing.JComponent; import javax.swing.JLayeredPane; import javax.swing.JScrollPane; @@ -67,6 +66,7 @@ import org.netbeans.spi.editor.errorstripe.UpToDateStatus; import org.openide.ErrorManager; import org.netbeans.modules.editor.errorstripe.privatespi.Status; import org.openide.text.NbDocument; +import org.openide.util.ImageUtilities; import org.openide.util.NbBundle; import org.openide.util.RequestProcessor; import org.openide.util.WeakListeners; @@ -110,7 +110,7 @@ public class AnnotationView extends JComponent implements FoldHierarchyListener, private DocumentListener weakDocL; static { - busyIcon = new ImageIcon(AnnotationView.class.getResource("resources/hodiny.gif")); + busyIcon = ImageUtilities.loadIcon("org/netbeans/modules/editor/errorstripe/resources/hodiny.gif"); } // public AnnotationView(JTextComponent pane) { diff --git a/ide/editor.macros/src/org/netbeans/modules/editor/macros/storage/ui/TableSorter.java b/ide/editor.macros/src/org/netbeans/modules/editor/macros/storage/ui/TableSorter.java index 0e38e390e40..5d353385a71 100644 --- a/ide/editor.macros/src/org/netbeans/modules/editor/macros/storage/ui/TableSorter.java +++ b/ide/editor.macros/src/org/netbeans/modules/editor/macros/storage/ui/TableSorter.java @@ -30,7 +30,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import javax.swing.Icon; -import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.event.TableModelEvent; @@ -40,6 +39,7 @@ import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumnModel; import javax.swing.table.TableModel; +import org.openide.util.ImageUtilities; public class TableSorter extends AbstractTableModel { @@ -176,9 +176,9 @@ public class TableSorter extends AbstractTableModel { return null; } if (directive.direction == DESCENDING) { - return new ImageIcon(getClass().getResource("/org/netbeans/modules/editor/macros/storage/ui/columnsSortedDesc.png")); // NOI18N + return ImageUtilities.loadIcon("org/netbeans/modules/editor/macros/storage/ui/columnsSortedDesc.png"); // NOI18N } else { - return new ImageIcon(getClass().getResource("/org/netbeans/modules/editor/macros/storage/ui/columnsSortedAsc.png")); // NOI18N + return ImageUtilities.loadIcon("org/netbeans/modules/editor/macros/storage/ui/columnsSortedAsc.png"); // NOI18N } } diff --git a/ide/git/src/org/netbeans/modules/git/ui/branch/CreateBranch.java b/ide/git/src/org/netbeans/modules/git/ui/branch/CreateBranch.java index e7552e9ede1..c0c41669128 100644 --- a/ide/git/src/org/netbeans/modules/git/ui/branch/CreateBranch.java +++ b/ide/git/src/org/netbeans/modules/git/ui/branch/CreateBranch.java @@ -51,7 +51,7 @@ public class CreateBranch implements DocumentListener { private boolean revisionValid = false; private String msgInvalidName; private String branchName; - private final Icon ICON_ERROR = org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/git/resources/icons/info.png", false); //NOI18N + private final Icon ICON_ERROR = org.openide.util.ImageUtilities.loadIcon("org/netbeans/modules/git/resources/icons/info.png"); //NOI18N private final Map<String, GitBranch> existingBranches; private final Set<String> localBranchNames; private boolean internalChange; diff --git a/ide/git/src/org/netbeans/modules/git/ui/checkout/AbstractCheckoutRevision.java b/ide/git/src/org/netbeans/modules/git/ui/checkout/AbstractCheckoutRevision.java index 82dcf724470..88c7e6a433e 100644 --- a/ide/git/src/org/netbeans/modules/git/ui/checkout/AbstractCheckoutRevision.java +++ b/ide/git/src/org/netbeans/modules/git/ui/checkout/AbstractCheckoutRevision.java @@ -55,7 +55,7 @@ public abstract class AbstractCheckoutRevision implements DocumentListener, Acti private boolean branchNameRecommended = true; private String branchName; private final Map<String, GitBranch> branches; - private final Icon ICON_ERROR = org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/git/resources/icons/info.png", false); //NOI18N + private final Icon ICON_ERROR = org.openide.util.ImageUtilities.loadIcon("org/netbeans/modules/git/resources/icons/info.png"); //NOI18N private boolean autoSelectedCreateBranch = true; protected AbstractCheckoutRevision (RepositoryInfo info, RevisionDialogController revisionPicker) { diff --git a/ide/git/src/org/netbeans/modules/git/ui/commit/GitCommitPanel.java b/ide/git/src/org/netbeans/modules/git/ui/commit/GitCommitPanel.java index 066fa309ea2..c173c56c4f8 100644 --- a/ide/git/src/org/netbeans/modules/git/ui/commit/GitCommitPanel.java +++ b/ide/git/src/org/netbeans/modules/git/ui/commit/GitCommitPanel.java @@ -82,12 +82,12 @@ public class GitCommitPanel extends VCSCommitPanel<GitLocalFileNode> { static final GitCommitFilter FILTER_HEAD_VS_WORKING = new GitCommitFilter( "HEAD_VS_WORKING", - org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/git/resources/icons/head_vs_working.png", false), + org.openide.util.ImageUtilities.loadIcon("org/netbeans/modules/git/resources/icons/head_vs_working.png"), NbBundle.getMessage(GitCommitPanel.class, "ParametersPanel.tgbHeadVsWorking.toolTipText"), true); static final GitCommitFilter FILTER_HEAD_VS_INDEX = new GitCommitFilter( "HEAD_VS_INDEX", - org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/git/resources/icons/head_vs_index.png", false), + org.openide.util.ImageUtilities.loadIcon("org/netbeans/modules/git/resources/icons/head_vs_index.png"), NbBundle.getMessage(GitCommitPanel.class, "ParametersPanel.tgbHeadVsIndex.toolTipText"), false); diff --git a/ide/git/src/org/netbeans/modules/git/ui/stash/SaveStash.java b/ide/git/src/org/netbeans/modules/git/ui/stash/SaveStash.java index a3cd564b238..82e2e368661 100644 --- a/ide/git/src/org/netbeans/modules/git/ui/stash/SaveStash.java +++ b/ide/git/src/org/netbeans/modules/git/ui/stash/SaveStash.java @@ -50,7 +50,7 @@ class SaveStash implements DocumentListener { private JButton okButton; private DialogDescriptor dd; private final File repository; - private final Icon ICON_INFO = org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/git/resources/icons/info.png", false); //NOI18N + private final Icon ICON_INFO = org.openide.util.ImageUtilities.loadIcon("org/netbeans/modules/git/resources/icons/info.png"); //NOI18N private final File[] roots; SaveStash (File repository, File[] roots, GitBranch activeBranch) { diff --git a/ide/git/src/org/netbeans/modules/git/ui/tag/CreateTag.java b/ide/git/src/org/netbeans/modules/git/ui/tag/CreateTag.java index c6c8d9b0ee7..97439dbba09 100644 --- a/ide/git/src/org/netbeans/modules/git/ui/tag/CreateTag.java +++ b/ide/git/src/org/netbeans/modules/git/ui/tag/CreateTag.java @@ -57,7 +57,7 @@ class CreateTag implements DocumentListener, ActionListener { private final Task branchCheckTask; private String tagName; private final File repository; - private final Icon ICON_INFO = org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/git/resources/icons/info.png", false); //NOI18N + private final Icon ICON_INFO = org.openide.util.ImageUtilities.loadIcon("org/netbeans/modules/git/resources/icons/info.png"); //NOI18N CreateTag (File repository, String initialRevision, String initialTagName) { this.repository = repository; diff --git a/ide/html.editor/src/org/netbeans/modules/html/editor/completion/HtmlPaletteCompletionProvider.java b/ide/html.editor/src/org/netbeans/modules/html/editor/completion/HtmlPaletteCompletionProvider.java index 0ea71a6d3aa..c6fb93fd0bf 100644 --- a/ide/html.editor/src/org/netbeans/modules/html/editor/completion/HtmlPaletteCompletionProvider.java +++ b/ide/html.editor/src/org/netbeans/modules/html/editor/completion/HtmlPaletteCompletionProvider.java @@ -54,6 +54,7 @@ import org.openide.filesystems.FileObject; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.util.Exceptions; +import org.openide.util.ImageUtilities; import org.openide.windows.TopComponent; /** @@ -274,14 +275,14 @@ public class HtmlPaletteCompletionProvider implements CompletionProvider { protected Action action; protected String category; protected String item; - protected Image icon; + protected ImageIcon icon; protected int completionExpressionStartOffset; public PaletteCompletionItem(Action action, int completionExpressionStartOffset, String category, String item, Image icon) { this.action = action; this.category = category; this.item = item; - this.icon = icon; + this.icon = ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon(icon)); this.completionExpressionStartOffset = completionExpressionStartOffset; } @@ -298,7 +299,7 @@ public class HtmlPaletteCompletionProvider implements CompletionProvider { } public ImageIcon getIcon() { - return new ImageIcon(icon); + return icon; } @Override diff --git a/ide/lib.terminalemulator/nbproject/project.xml b/ide/lib.terminalemulator/nbproject/project.xml index 4f8c931e215..b0bf5c95889 100644 --- a/ide/lib.terminalemulator/nbproject/project.xml +++ b/ide/lib.terminalemulator/nbproject/project.xml @@ -33,6 +33,14 @@ <specification-version>7.82</specification-version> </run-dependency> </dependency> + <dependency> + <code-name-base>org.openide.util.ui</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>9.36</specification-version> + </run-dependency> + </dependency> </module-dependencies> <test-dependencies> <test-type> diff --git a/ide/lib.terminalemulator/src/org/netbeans/lib/terminalemulator/support/FindBar.java b/ide/lib.terminalemulator/src/org/netbeans/lib/terminalemulator/support/FindBar.java index 35e1eb25bae..009b72c7cb1 100644 --- a/ide/lib.terminalemulator/src/org/netbeans/lib/terminalemulator/support/FindBar.java +++ b/ide/lib.terminalemulator/src/org/netbeans/lib/terminalemulator/support/FindBar.java @@ -41,6 +41,7 @@ import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; +import org.openide.util.ImageUtilities; /** * A panel to facilitate text searches with the following elements: @@ -84,7 +85,7 @@ public final class FindBar extends JPanel { private final class CloseAction extends AbstractAction { public CloseAction() { - super(Catalog.get("CTL_Close"), new ImageIcon(FindBar.class.getResource("find_close.png"))); + super(Catalog.get("CTL_Close"), ImageUtilities.loadIcon("org/netbeans/lib/terminalemulator/support/find_close.png")); } @Override @@ -99,7 +100,7 @@ public final class FindBar extends JPanel { private final class NextAction extends AbstractAction { public NextAction() { - super(Catalog.get("CTL_Next"), new ImageIcon(FindBar.class.getResource("find_next.png"))); // NOI18N + super(Catalog.get("CTL_Next"), ImageUtilities.loadIcon("org/netbeans/lib/terminalemulator/support/find_next.png")); // NOI18N } @Override @@ -114,7 +115,7 @@ public final class FindBar extends JPanel { private final class PrevAction extends AbstractAction { public PrevAction() { - super(Catalog.get("CTL_Previous"), new ImageIcon(FindBar.class.getResource("find_previous.png"))); // NOI18N + super(Catalog.get("CTL_Previous"), ImageUtilities.loadIcon("org/netbeans/lib/terminalemulator/support/find_previous.png")); // NOI18N } @Override diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java index 5794f2d4650..bbcef631eba 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java @@ -246,7 +246,7 @@ public class LSPBindings { description.failedCount++; if (description.failedCount == INVALID_START_MAX_COUNT) { NotificationDisplayer.getDefault().notify(Bundle.TITLE_FailedToStart(mimeType), - ImageUtilities.loadImageIcon("/org/netbeans/modules/lsp/client/resources/error_16.png", false), + ImageUtilities.loadIcon("org/netbeans/modules/lsp/client/resources/error_16.png"), Bundle.DETAIL_FailedToStart(), null); } diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java index 200f6c9a809..c4e1022dd92 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java @@ -193,8 +193,7 @@ public class CompletionProviderImpl implements CompletionProvider { } String sortText = i.getSortText() != null ? i.getSortText() : i.getLabel(); CompletionItemKind kind = i.getKind(); - Icon ic = Icons.getCompletionIcon(kind); - ImageIcon icon = new ImageIcon(ImageUtilities.icon2Image(ic)); + ImageIcon icon = ImageUtilities.icon2ImageIcon(Icons.getCompletionIcon(kind)); resultSet.addItem(new org.netbeans.spi.editor.completion.CompletionItem() { @Override public void defaultAction(JTextComponent jtc) { diff --git a/ide/mercurial/src/org/netbeans/modules/mercurial/ui/commit/CommitPanel.java b/ide/mercurial/src/org/netbeans/modules/mercurial/ui/commit/CommitPanel.java index 77c3b9d4cb9..29b0c794c7c 100644 --- a/ide/mercurial/src/org/netbeans/modules/mercurial/ui/commit/CommitPanel.java +++ b/ide/mercurial/src/org/netbeans/modules/mercurial/ui/commit/CommitPanel.java @@ -385,10 +385,10 @@ public class CommitPanel extends AutoResizingPanel implements PreferenceChangeLi jLabel1.setLabelFor(messageTextArea); Mnemonics.setLocalizedText(jLabel1, getMessage("CTL_CommitForm_Message")); // NOI18N - recentLink.setIcon(new ImageIcon(getClass().getResource("/org/netbeans/modules/mercurial/resources/icons/recent_messages.png"))); // NOI18N + recentLink.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/mercurial/resources/icons/recent_messages.png")); // NOI18N recentLink.setToolTipText(getMessage("CTL_CommitForm_RecentMessages")); // NOI18N - templateLink.setIcon(new ImageIcon(getClass().getResource("/org/netbeans/modules/mercurial/resources/icons/load_template.png"))); // NOI18N + templateLink.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/mercurial/resources/icons/load_template.png")); // NOI18N templateLink.setToolTipText(getMessage("CTL_CommitForm_LoadTemplate")); // NOI18N Mnemonics.setLocalizedText(cbAllFiles, getMessage("CTL_CommitForm_CommitAllFiles.text")); //NOI18N diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/impl/ErrorPanel.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/impl/ErrorPanel.java index 47eb1d6c259..ef40812a7d9 100644 --- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/impl/ErrorPanel.java +++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/impl/ErrorPanel.java @@ -19,10 +19,11 @@ package org.netbeans.modules.refactoring.spi.impl; import java.awt.Dimension; import java.awt.GridBagConstraints; -import javax.swing.ImageIcon; +import javax.swing.Icon; import javax.swing.JPanel; import org.netbeans.modules.refactoring.api.Problem; import org.netbeans.modules.refactoring.spi.ui.RefactoringUI; +import org.openide.util.ImageUtilities; /** * @@ -30,7 +31,7 @@ import org.netbeans.modules.refactoring.spi.ui.RefactoringUI; */ public class ErrorPanel extends javax.swing.JPanel { - private static ImageIcon fatalImage = null, nonFatalImage = null; + private static Icon fatalImage = null, nonFatalImage = null; private RefactoringUI ui; /** Creates new form ErrorPanel */ @@ -81,16 +82,16 @@ public class ErrorPanel extends javax.swing.JPanel { errors.add(jp, gridBagConstraints); } - static ImageIcon getFatalErrorIcon() { + static Icon getFatalErrorIcon() { if (fatalImage == null) { - fatalImage = new ImageIcon(ErrorPanel.class.getResource("/org/netbeans/modules/refactoring/api/resources/error.png")); //NOI18N + fatalImage = ImageUtilities.loadIcon("org/netbeans/modules/refactoring/api/resources/error.png"); //NOI18N } return fatalImage; } - static ImageIcon getNonfatalErrorIcon() { + static Icon getNonfatalErrorIcon() { if (nonFatalImage == null) { - nonFatalImage = new ImageIcon(ErrorPanel.class.getResource("/org/netbeans/modules/refactoring/api/resources/warning.png")); //NOI18N + nonFatalImage = ImageUtilities.loadIcon("org/netbeans/modules/refactoring/api/resources/warning.png"); //NOI18N } return nonFatalImage; } diff --git a/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/ThreadsHistoryAction.java b/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/ThreadsHistoryAction.java index bd718ff7ac6..975283fe4c6 100644 --- a/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/ThreadsHistoryAction.java +++ b/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/ThreadsHistoryAction.java @@ -28,7 +28,6 @@ import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; -import java.lang.reflect.Method; import java.util.Collections; import java.util.HashSet; import java.util.LinkedList; @@ -36,10 +35,7 @@ import java.util.List; import java.util.Set; import javax.swing.AbstractAction; import javax.swing.Icon; -import javax.swing.ImageIcon; import javax.swing.KeyStroke; -import org.netbeans.api.debugger.DebuggerManager; -import org.netbeans.api.debugger.Session; import org.netbeans.spi.debugger.ui.DebuggingView.DVSupport; import org.netbeans.spi.debugger.ui.DebuggingView.DVThread; import org.netbeans.spi.debugger.ui.DebuggingView.Deadlock; @@ -193,19 +189,16 @@ public final class ThreadsHistoryAction extends AbstractAction { } private static class ThreadStatusIcon implements Icon { - - private Image image; - private ImageIcon iconBase; + private Icon iconBase; private boolean isCurrent; private boolean isAtBreakpoint; private boolean isInDeadlock; ThreadStatusIcon(Image image, boolean isCurrent, boolean isAtBreakpoint, boolean isInDeadlock) { - this.image = image; this.isCurrent = isCurrent; this.isAtBreakpoint = isAtBreakpoint; this.isInDeadlock = isInDeadlock; - iconBase = new ImageIcon(image); + this.iconBase = ImageUtilities.image2Icon(image); } @Override @@ -228,7 +221,7 @@ public final class ThreadsHistoryAction extends AbstractAction { Color originalColor = g.getColor(); g.setColor(c.getBackground()); g.fillRect(x, y, width, height); - g.drawImage(image, x + width, y, iconBase.getImageObserver()); + iconBase.paintIcon(c, g, x + width, y); if (primaryColor != null) { g.setColor(primaryColor); g.fillRect(x, y, DebuggingViewComponent.BAR_WIDTH, height); diff --git a/ide/subversion/src/org/netbeans/modules/subversion/ui/commit/CommitPanel.java b/ide/subversion/src/org/netbeans/modules/subversion/ui/commit/CommitPanel.java index 5a800e5d407..68b29091e10 100644 --- a/ide/subversion/src/org/netbeans/modules/subversion/ui/commit/CommitPanel.java +++ b/ide/subversion/src/org/netbeans/modules/subversion/ui/commit/CommitPanel.java @@ -101,6 +101,7 @@ import static javax.swing.SwingConstants.WEST; import static javax.swing.LayoutStyle.ComponentPlacement.RELATED; import javax.swing.text.Keymap; import org.openide.awt.TabbedPaneFactory; +import org.openide.util.ImageUtilities; import org.openide.util.Lookup; import org.openide.util.Utilities; import org.openide.util.actions.CallbackSystemAction; @@ -362,10 +363,10 @@ public class CommitPanel extends AutoResizingPanel implements PreferenceChangeLi jLabel1.setLabelFor(messageTextArea); Mnemonics.setLocalizedText(jLabel1, getMessage("CTL_CommitForm_Message")); // NOI18N - recentLink.setIcon(new ImageIcon(getClass().getResource("/org/netbeans/modules/subversion/resources/icons/recent_messages.png"))); // NOI18N + recentLink.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/subversion/resources/icons/recent_messages.png")); // NOI18N recentLink.setToolTipText(getMessage("CTL_CommitForm_RecentMessages")); // NOI18N - templateLink.setIcon(new ImageIcon(getClass().getResource("/org/netbeans/modules/subversion/resources/icons/load_template.png"))); // NOI18N + templateLink.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/subversion/resources/icons/load_template.png")); // NOI18N templateLink.setToolTipText(getMessage("CTL_CommitForm_LoadTemplate")); // NOI18N messageTextArea.setColumns(70); //this determines the preferred width of the whole dialog diff --git a/ide/utilities/src/org/netbeans/modules/openfile/PackagePanel.java b/ide/utilities/src/org/netbeans/modules/openfile/PackagePanel.java index a864116693f..2604b66c2db 100644 --- a/ide/utilities/src/org/netbeans/modules/openfile/PackagePanel.java +++ b/ide/utilities/src/org/netbeans/modules/openfile/PackagePanel.java @@ -40,6 +40,8 @@ import javax.swing.JTextArea; import javax.swing.ListCellRenderer; import javax.swing.ListSelectionModel; import java.awt.event.*; +import javax.swing.ImageIcon; +import org.openide.util.ImageUtilities; import org.openide.util.NbBundle; @@ -109,8 +111,8 @@ public class PackagePanel extends JPanel { list.setSelectionMode (ListSelectionModel.SINGLE_SELECTION); if (pkgLevel != -1) list.setSelectedIndex (pkgLevel); list.setCellRenderer (new ListCellRenderer () { - private Icon folderIcon = new ImageIcon (OpenFile.class.getResource ("folder.gif")); // NOI18N - private Icon rootFolderIcon = new ImageIcon (OpenFile.class.getResource ("rootFolder.gif")); // NOI18N + private Icon folderIcon = ImageUtilities.loadIcon("org/netbeans/modules/openfile/folder.gif"); // NOI18N + private Icon rootFolderIcon = ImageUtilities.loadIcon("org/netbeans/modules/openfile/rootFolder.gif"); // NOI18N private final JLabel lab = new JLabel(); public Component getListCellRendererComponent (JList lst, Object value, int index, boolean isSelected, boolean cellHasFocus) { diff --git a/ide/versioning.util/src/org/netbeans/modules/versioning/util/common/VCSCommitParameters.java b/ide/versioning.util/src/org/netbeans/modules/versioning/util/common/VCSCommitParameters.java index d27c00e66b5..1168108700b 100644 --- a/ide/versioning.util/src/org/netbeans/modules/versioning/util/common/VCSCommitParameters.java +++ b/ide/versioning.util/src/org/netbeans/modules/versioning/util/common/VCSCommitParameters.java @@ -32,7 +32,6 @@ import java.util.prefs.Preferences; import javax.swing.AbstractAction; import javax.swing.Box; import javax.swing.BoxLayout; -import javax.swing.ImageIcon; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; @@ -48,6 +47,7 @@ import org.openide.awt.Mnemonics; import org.openide.util.ChangeSupport; import org.openide.util.NbBundle; import static javax.swing.LayoutStyle.ComponentPlacement.RELATED; +import org.openide.util.ImageUtilities; /** * @@ -92,7 +92,7 @@ public abstract class VCSCommitParameters { public static JLabel createRecentMessagesLink(final JTextArea text, final Preferences preferences) { final JLabel recentLink = new JLabel(); - recentLink.setIcon(new ImageIcon(VCSCommitParameters.class.getResource("/org/netbeans/modules/versioning/util/resources/recent_messages.png"))); // NOI18N + recentLink.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/versioning/util/resources/recent_messages.png")); // NOI18N recentLink.setToolTipText(getMessage("CTL_CommitForm_RecentMessages")); // NOI18N recentLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); @@ -121,7 +121,7 @@ public abstract class VCSCommitParameters { protected static JLabel createMessagesTemplateLink(final JTextArea text, final Preferences preferences, final String helpCtxId) { final JLabel templateLink = new JLabel(); - templateLink.setIcon(new ImageIcon(VCSCommitParameters.class.getResource("/org/netbeans/modules/versioning/util/resources/load_template.png"))); // NOI18N + templateLink.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/versioning/util/resources/load_template.png")); // NOI18N templateLink.setToolTipText(getMessage("CTL_CommitForm_LoadTemplate")); // NOI18N templateLink.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); diff --git a/ide/web.common.ui/src/org/netbeans/modules/web/common/ui/api/FileReferenceCompletion.java b/ide/web.common.ui/src/org/netbeans/modules/web/common/ui/api/FileReferenceCompletion.java index ba030014213..3cf525b7b0a 100644 --- a/ide/web.common.ui/src/org/netbeans/modules/web/common/ui/api/FileReferenceCompletion.java +++ b/ide/web.common.ui/src/org/netbeans/modules/web/common/ui/api/FileReferenceCompletion.java @@ -238,7 +238,8 @@ public abstract class FileReferenceCompletion<T> implements ValueCompletion<T> { return PACKAGE_ICON; } else { try { - return new ImageIcon(DataObject.find(fo).getNodeDelegate().getIcon(java.beans.BeanInfo.ICON_COLOR_16x16)); + return ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon( + DataObject.find(fo).getNodeDelegate().getIcon(java.beans.BeanInfo.ICON_COLOR_16x16))); } catch (DataObjectNotFoundException e) { Logger.getLogger(FileReferenceCompletion.class.getName()).log(Level.INFO, "Cannot find icon for " + fo.getNameExt(), e); } diff --git a/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/AttributeResultItem.java b/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/AttributeResultItem.java index 6f04d2e171c..2634f4984a9 100644 --- a/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/AttributeResultItem.java +++ b/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/AttributeResultItem.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.xml.schema.completion; -import javax.swing.ImageIcon; import javax.swing.text.JTextComponent; import org.netbeans.api.lexer.Token; import org.netbeans.api.lexer.TokenId; @@ -27,6 +26,7 @@ import org.netbeans.api.xml.lexer.XMLTokenId; import org.netbeans.modules.xml.axi.AbstractAttribute; import org.netbeans.modules.xml.schema.completion.spi.CompletionContext; import org.netbeans.modules.xml.schema.completion.CompletionPaintComponent.AttributePaintComponent; +import org.openide.util.ImageUtilities; /** * @@ -42,8 +42,7 @@ public class AttributeResultItem extends CompletionResultItem { public AttributeResultItem(AbstractAttribute attribute, CompletionContext context) { super(attribute, context); itemText = attribute.getName(); - icon = new ImageIcon(CompletionResultItem.class. - getResource(ICON_LOCATION + ICON_ATTRIBUTE)); + icon = ImageUtilities.loadIcon(ICON_LOCATION + ICON_ATTRIBUTE); } /** @@ -52,8 +51,7 @@ public class AttributeResultItem extends CompletionResultItem { public AttributeResultItem(AbstractAttribute attribute, String prefix, CompletionContext context) { super(attribute, context); itemText = prefix + ":" + attribute.getName(); - icon = new ImageIcon(CompletionResultItem.class. - getResource(ICON_LOCATION + ICON_ATTRIBUTE)); + icon = ImageUtilities.loadIcon(ICON_LOCATION + ICON_ATTRIBUTE); } private int caretOffset = -1; diff --git a/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/CompletionResultItem.java b/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/CompletionResultItem.java index 390b6caeb50..721efc981a8 100644 --- a/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/CompletionResultItem.java +++ b/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/CompletionResultItem.java @@ -55,7 +55,7 @@ public abstract class CompletionResultItem implements CompletionItem { ICON_ELEMENT = "element.png", //NOI18N ICON_ATTRIBUTE = "attribute.png", //NOI18N ICON_VALUE = "value.png", //NOI18N - ICON_LOCATION = "/org/netbeans/modules/xml/schema/completion/resources/"; //NOI18N + ICON_LOCATION = "org/netbeans/modules/xml/schema/completion/resources/"; //NOI18N protected boolean shift = false; protected String typedChars; diff --git a/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/ElementResultItem.java b/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/ElementResultItem.java index 9cd39017a72..6792b4a0767 100644 --- a/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/ElementResultItem.java +++ b/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/ElementResultItem.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.xml.schema.completion; -import javax.swing.ImageIcon; import javax.swing.text.JTextComponent; import org.netbeans.api.lexer.TokenSequence; import org.netbeans.api.xml.lexer.XMLTokenId; @@ -31,6 +30,7 @@ import org.netbeans.modules.xml.schema.completion.CompletionPaintComponent.Eleme import org.netbeans.modules.xml.schema.completion.util.CompletionContextImpl; import org.netbeans.modules.xml.schema.completion.util.CompletionUtil; import org.netbeans.modules.xml.schema.model.Attribute.Use; +import org.openide.util.ImageUtilities; /** * @@ -51,8 +51,7 @@ public class ElementResultItem extends CompletionResultItem { TokenSequence tokenSequence) { super(element, context, tokenSequence); itemText = element.getName(); - icon = new ImageIcon(CompletionResultItem.class.getResource( - ICON_LOCATION + ICON_ELEMENT)); + icon = ImageUtilities.loadIcon(ICON_LOCATION + ICON_ELEMENT); } /** @@ -62,8 +61,7 @@ public class ElementResultItem extends CompletionResultItem { public ElementResultItem(AbstractElement element, String prefix, CompletionContextImpl context) { super(element, context); itemText = prefix + ":" + element.getName(); - icon = new ImageIcon(CompletionResultItem.class. - getResource(ICON_LOCATION + ICON_ELEMENT)); + icon = ImageUtilities.loadIcon(ICON_LOCATION + ICON_ELEMENT); } @Override diff --git a/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/ValueResultItem.java b/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/ValueResultItem.java index 2f41277a316..4762e2d7fca 100644 --- a/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/ValueResultItem.java +++ b/ide/xml.schema.completion/src/org/netbeans/modules/xml/schema/completion/ValueResultItem.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.xml.schema.completion; -import javax.swing.ImageIcon; import javax.swing.text.JTextComponent; import org.netbeans.api.lexer.TokenId; import org.netbeans.api.lexer.TokenSequence; @@ -26,6 +25,7 @@ import org.netbeans.api.xml.lexer.XMLTokenId; import org.netbeans.modules.xml.axi.AXIComponent; import org.netbeans.modules.xml.schema.completion.CompletionPaintComponent.ValuePaintComponent; import org.netbeans.modules.xml.schema.completion.spi.CompletionContext; +import org.openide.util.ImageUtilities; /** * @@ -38,8 +38,7 @@ public class ValueResultItem extends CompletionResultItem { public ValueResultItem(AXIComponent forComponent, String value, CompletionContext context) { super(forComponent, context); this.itemText = value; - this.icon = new ImageIcon(CompletionResultItem.class. - getResource(ICON_LOCATION + ICON_VALUE)); + this.icon = ImageUtilities.loadIcon(ICON_LOCATION + ICON_VALUE); } @Override diff --git a/ide/xml.text/src/org/netbeans/modules/xml/text/completion/IconStore.java b/ide/xml.text/src/org/netbeans/modules/xml/text/completion/IconStore.java deleted file mode 100644 index 95b933c3781..00000000000 --- a/ide/xml.text/src/org/netbeans/modules/xml/text/completion/IconStore.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.xml.text.completion; - -import java.util.HashMap; - -import javax.swing.ImageIcon; - -/** - * @author Sandeep Singh Randhawa - * @version 0.1 - */ -final class IconStore extends Object { - - public static final String EMPTY_TAG = "/org/netbeans/modules/xml/text/completion/resources/emptyTag"; - public static final String END_TAG = "/org/netbeans/modules/xml/text/completion/resources/endTag"; - public static final String CHILDREN = "/org/netbeans/modules/xml/text/completion/resources/typeChildren"; - public static final String MIXED = "/org/netbeans/modules/xml/text/completion/resources/typeMixed"; - public static final String PCDATA = "/org/netbeans/modules/xml/text/completion/resources/typePCDATA"; - - public static final String TYPE_ENTITY = "/org/netbeans/modules/xml/text/completion/resources/attTypeENTITY"; - public static final String TYPE_ENTITIES = "/org/netbeans/modules/xml/text/completion/resources/attTypeENTITIES"; - public static final String TYPE_ENUMERATION = "/org/netbeans/modules/xml/text/completion/resources/attTypeEn"; - public static final String TYPE_ID = "/org/netbeans/modules/xml/text/completion/resources/attTypeID"; - public static final String TYPE_IDREF = "/org/netbeans/modules/xml/text/completion/resources/attTypeIDREF"; - public static final String TYPE_IDREFS = "/org/netbeans/modules/xml/text/completion/resources/attTypeIDREFS"; - public static final String TYPE_NMTOKEN = "/org/netbeans/modules/xml/text/completion/resources/attTypeNMTOKEN"; - public static final String TYPE_NMTOKENS = "/org/netbeans/modules/xml/text/completion/resources/attTypeNMTOKENS"; - public static final String TYPE_NOTATION = "/org/netbeans/modules/xml/text/completion/resources/attTypeNOTATION"; - public static final String TYPE_CDATA = "/org/netbeans/modules/xml/text/completion/resources/typeCDATA"; - - public static final String SPACER_16 = "/org/netbeans/modules/xml/text/completion/resources/spacer_16"; - public static final String SPACER_8 = "/org/netbeans/modules/xml/text/completion/resources/spacer_8"; - public static final String ICON_SUFFIX = ".gif"; - - /** HashMap{@link java.util.HashMap } that acts as a store for the icons. - */ - private static HashMap<String, ImageIcon> iconsMap = new HashMap<>(); - - /** Main method to retrieve the ImageIcon{@link javax.swing.ImageIcon} - * @param name Name of the icon to retrieve. In most instances would be one of the variables of - * this class. - * @return ImageIcon{@link javax.swing.ImageIcon} - */ - - public static ImageIcon getImageIcon(String name){ - if(name == null) - name = SPACER_16; - - if(iconsMap.containsKey(name)) - return iconsMap.get(name); - else{ - iconsMap.put(name, new ImageIcon(IconStore.class.getResource(name + ICON_SUFFIX))); - return iconsMap.get(name); - } - } -} diff --git a/java/form/src/org/netbeans/modules/form/FormToolBar.java b/java/form/src/org/netbeans/modules/form/FormToolBar.java index a1df40c4256..2f2389a569a 100644 --- a/java/form/src/org/netbeans/modules/form/FormToolBar.java +++ b/java/form/src/org/netbeans/modules/form/FormToolBar.java @@ -104,8 +104,7 @@ final class FormToolBar { // palette button paletteButton = new JToggleButton( - new ImageIcon(getClass().getResource( - "/org/netbeans/modules/form/resources/beansButton.gif")), // NOI18N + ImageUtilities.loadIcon("org/netbeans/modules/form/resources/beansButton.gif"), // NOI18N false); paletteButton.addActionListener(listener); paletteButton.addMouseListener(listener); diff --git a/java/form/src/org/netbeans/modules/form/layoutsupport/delegates/GridBagCustomizer.java b/java/form/src/org/netbeans/modules/form/layoutsupport/delegates/GridBagCustomizer.java index 4526e5bd423..d475a133beb 100644 --- a/java/form/src/org/netbeans/modules/form/layoutsupport/delegates/GridBagCustomizer.java +++ b/java/form/src/org/netbeans/modules/form/layoutsupport/delegates/GridBagCustomizer.java @@ -57,8 +57,8 @@ public final class GridBagCustomizer extends JPanel implements Customizer static final int PLUS = 1; static final int MINUS = -1; - private static final ImageIcon REMAINDER_ICON = new ImageIcon( - GridBagCustomizer.class.getResource("/org/netbeans/modules/form/layoutsupport/resources/remainder.gif")); // NOI18N + private static final Icon REMAINDER_ICON = ImageUtilities.loadIcon( + "org/netbeans/modules/form/layoutsupport/resources/remainder.gif"); // NOI18N // private DesignGridBagLayout designLayout; private GridBagLayoutSupport layoutSupport; diff --git a/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java b/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java index 6c16e6df828..7f6464c8285 100644 --- a/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java +++ b/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java @@ -87,6 +87,7 @@ import org.openide.xml.XMLUtil; import org.netbeans.swing.plaf.LFCustoms; import static javax.lang.model.type.TypeKind.VOID; +import javax.swing.Icon; /** * @@ -618,7 +619,7 @@ public abstract class JavaCompletionItem implements CompletionItem { abstract static class WhiteListJavaCompletionItem<T extends Element> extends JavaCompletionItem { private static final String WARNING = "org/netbeans/modules/java/editor/resources/warning_badge.gif"; //NOI18N - private static ImageIcon warningIcon; + private static Icon warningIcon; private final WhiteListQuery.WhiteList whiteList; private final List<ElementHandle<? extends Element>> handles; private Boolean isBlackListed; @@ -683,10 +684,10 @@ public abstract class JavaCompletionItem implements CompletionItem { return base; } if (warningIcon == null) { - warningIcon = ImageUtilities.loadImageIcon(WARNING, false); + warningIcon = ImageUtilities.loadIcon(WARNING); } assert warningIcon != null; - return new ImageIcon(ImageUtilities.mergeImages(base.getImage(), warningIcon.getImage(), 8, 8)); + return ImageUtilities.icon2ImageIcon(ImageUtilities.mergeIcons(base, warningIcon, 8, 8)); } protected ImageIcon getBaseIcon() { @@ -2214,9 +2215,9 @@ public abstract class JavaCompletionItem implements CompletionItem { return merged; } ImageIcon superIcon = super.getBaseIcon(); - merged = new ImageIcon( ImageUtilities.mergeImages( - superIcon.getImage(), - implement ? implementBadge.getImage() : overrideBadge.getImage(), + merged = ImageUtilities.icon2ImageIcon(ImageUtilities.mergeIcons( + superIcon, + implement ? implementBadge : overrideBadge, 16 - 8, 16 - 8) ); @@ -2298,7 +2299,7 @@ public abstract class JavaCompletionItem implements CompletionItem { private static final String SETTER_BADGE_PATH = "org/netbeans/modules/java/editor/resources/setter_badge.png"; //NOI18N private static final String PARAMETER_NAME_COLOR = Utilities.getHTMLColor(224, 160, 65); - private static ImageIcon superIcon; + private static Icon superIcon; private static ImageIcon[] merged_icons = new ImageIcon[2]; protected ElementHandle<VariableElement> elementHandle; @@ -2394,16 +2395,16 @@ public abstract class JavaCompletionItem implements CompletionItem { protected ImageIcon getIcon() { if (merged_icons[setter ? 1 : 0] == null) { if (superIcon == null) { - superIcon = ImageUtilities.loadImageIcon(METHOD_PUBLIC, false); + superIcon = ImageUtilities.loadIcon(METHOD_PUBLIC); } if (setter) { - ImageIcon setterBadge = ImageUtilities.loadImageIcon(SETTER_BADGE_PATH, false); - merged_icons[1] = new ImageIcon(ImageUtilities.mergeImages(superIcon.getImage(), - setterBadge.getImage(), 16 - 8, 16 - 8)); + Icon setterBadge = ImageUtilities.loadIcon(SETTER_BADGE_PATH); + merged_icons[1] = ImageUtilities.icon2ImageIcon(ImageUtilities.mergeIcons(superIcon, + setterBadge, 16 - 8, 16 - 8)); } else { - ImageIcon getterBadge = ImageUtilities.loadImageIcon(GETTER_BADGE_PATH, false); - merged_icons[0] = new ImageIcon(ImageUtilities.mergeImages(superIcon.getImage(), - getterBadge.getImage(), 16 - 8, 16 - 8)); + Icon getterBadge = ImageUtilities.loadIcon(GETTER_BADGE_PATH); + merged_icons[0] = ImageUtilities.icon2ImageIcon(ImageUtilities.mergeIcons(superIcon, + getterBadge, 16 - 8, 16 - 8)); } } return merged_icons[setter ? 1 : 0]; diff --git a/java/java.editor/src/org/netbeans/modules/java/editor/overridden/IsOverriddenPopup.java b/java/java.editor/src/org/netbeans/modules/java/editor/overridden/IsOverriddenPopup.java index 6c10dd7127e..aa083268f8f 100644 --- a/java/java.editor/src/org/netbeans/modules/java/editor/overridden/IsOverriddenPopup.java +++ b/java/java.editor/src/org/netbeans/modules/java/editor/overridden/IsOverriddenPopup.java @@ -30,7 +30,6 @@ import java.util.Comparator; import java.util.List; import javax.swing.DefaultListCellRenderer; import javax.swing.DefaultListModel; -import javax.swing.ImageIcon; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.ListModel; @@ -211,7 +210,7 @@ public class IsOverriddenPopup extends JPanel implements FocusListener { g.setColor(fgColor); // Render the item - CompletionUtilities.renderHtml(new ImageIcon(ImageUtilities.icon2Image(getIcon())), getText(), null, g, getFont(), fgColor, getWidth(), getHeight(), selected); + CompletionUtilities.renderHtml(ImageUtilities.icon2ImageIcon(getIcon()), getText(), null, g, getFont(), fgColor, getWidth(), getHeight(), selected); } } diff --git a/java/jshell.support/src/org/netbeans/modules/jshell/editor/CommandCompletionProvider.java b/java/jshell.support/src/org/netbeans/modules/jshell/editor/CommandCompletionProvider.java index 697970da601..ed81b1be567 100644 --- a/java/jshell.support/src/org/netbeans/modules/jshell/editor/CommandCompletionProvider.java +++ b/java/jshell.support/src/org/netbeans/modules/jshell/editor/CommandCompletionProvider.java @@ -337,7 +337,7 @@ public class CommandCompletionProvider implements CompletionProvider{ n = f.getLookup().lookup(Node.class); } if (n != null) { - return new ImageIcon(n.getIcon(BeanInfo.ICON_COLOR_16x16)); + return ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon(n.getIcon(BeanInfo.ICON_COLOR_16x16))); } } } diff --git a/java/jshell.support/src/org/netbeans/modules/jshell/editor/ConsoleEditor.java b/java/jshell.support/src/org/netbeans/modules/jshell/editor/ConsoleEditor.java index f6c284a39e7..69888016ff0 100644 --- a/java/jshell.support/src/org/netbeans/modules/jshell/editor/ConsoleEditor.java +++ b/java/jshell.support/src/org/netbeans/modules/jshell/editor/ConsoleEditor.java @@ -25,7 +25,6 @@ import java.awt.event.ActionEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.Action; -import javax.swing.ImageIcon; import javax.swing.JComponent; import javax.swing.JEditorPane; import javax.swing.JLabel; @@ -58,6 +57,7 @@ import org.openide.nodes.Node; import org.openide.text.CloneableEditor; import org.openide.text.CloneableEditorSupport; import org.openide.util.Exceptions; +import org.openide.util.ImageUtilities; import org.openide.util.Lookup; import org.openide.util.NbBundle; import org.openide.windows.TopComponent; @@ -572,11 +572,7 @@ public class ConsoleEditor extends CloneableEditor { JLabel l = initializingPanel; if (initializingPanel == null) { l = new JLabel(Bundle.MSG_Initializing(), JLabel.LEADING); - l.setIcon(new ImageIcon( - getClass().getClassLoader().getResource( - "org/netbeans/modules/jshell/resources/wait16.gif" - ) - )); + l.setIcon(ImageUtilities.loadIcon("org/netbeans/modules/jshell/resources/wait16.gif")); initializingPanel = l; } return initializingPanel; diff --git a/java/spring.beans/src/org/netbeans/modules/spring/beans/completion/SpringXMLConfigCompletionItem.java b/java/spring.beans/src/org/netbeans/modules/spring/beans/completion/SpringXMLConfigCompletionItem.java index f4733e2a1dc..39e3e1e871a 100644 --- a/java/spring.beans/src/org/netbeans/modules/spring/beans/completion/SpringXMLConfigCompletionItem.java +++ b/java/spring.beans/src/org/netbeans/modules/spring/beans/completion/SpringXMLConfigCompletionItem.java @@ -795,7 +795,7 @@ public abstract class SpringXMLConfigCompletionItem implements CompletionItem { @Override protected ImageIcon getIcon() { - return new ImageIcon(getTreeFolderIcon()); + return ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon(getTreeFolderIcon())); } @Override diff --git a/javafx/javafx2.editor/src/org/netbeans/modules/javafx2/editor/completion/impl/ResourcePathItem.java b/javafx/javafx2.editor/src/org/netbeans/modules/javafx2/editor/completion/impl/ResourcePathItem.java index 18cfa1f8c66..d19d0f481c3 100644 --- a/javafx/javafx2.editor/src/org/netbeans/modules/javafx2/editor/completion/impl/ResourcePathItem.java +++ b/javafx/javafx2.editor/src/org/netbeans/modules/javafx2/editor/completion/impl/ResourcePathItem.java @@ -62,7 +62,7 @@ final class ResourcePathItem extends AbstractCompletionItem { @Override protected ImageIcon getIcon() { if (icon == null) { - icon = new ImageIcon(target.getNodeDelegate().getIcon(BeanInfo.ICON_COLOR_16x16)); + icon = ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon(target.getNodeDelegate().getIcon(BeanInfo.ICON_COLOR_16x16))); } return icon; } diff --git a/php/php.api.framework/src/org/netbeans/modules/php/api/framework/BadgeIcon.java b/php/php.api.framework/src/org/netbeans/modules/php/api/framework/BadgeIcon.java index 8f06c5821f2..de26878cc99 100644 --- a/php/php.api.framework/src/org/netbeans/modules/php/api/framework/BadgeIcon.java +++ b/php/php.api.framework/src/org/netbeans/modules/php/api/framework/BadgeIcon.java @@ -21,7 +21,8 @@ package org.netbeans.modules.php.api.framework; import java.awt.Image; import java.net.URL; -import javax.swing.ImageIcon; +import javax.swing.Icon; +import org.openide.util.ImageUtilities; import org.openide.util.Parameters; /** @@ -46,7 +47,7 @@ public final class BadgeIcon { boolean assertions = false; assert assertions = true; if (assertions) { - ImageIcon imageIcon = new ImageIcon(image); + Icon imageIcon = ImageUtilities.image2Icon(image); if (imageIcon.getIconWidth() != 8) { throw new IllegalArgumentException("The width of an image must be 8 px"); } diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/completion/FSCompletion.java b/php/php.editor/src/org/netbeans/modules/php/editor/completion/FSCompletion.java index cc25a80fffb..b2c8e3c0d54 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/completion/FSCompletion.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/completion/FSCompletion.java @@ -65,6 +65,7 @@ import org.openide.filesystems.FileUtil; import org.openide.loaders.DataObject; import org.openide.util.BaseUtilities; import org.openide.util.Exceptions; +import org.openide.util.ImageUtilities; import org.openide.util.Utilities; /** @@ -296,7 +297,7 @@ public class FSCompletion implements CompletionProvider { DataObject od = DataObject.find(file); - icon = new ImageIcon(od.getNodeDelegate().getIcon(BeanInfo.ICON_COLOR_16x16)); + icon = ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon(od.getNodeDelegate().getIcon(BeanInfo.ICON_COLOR_16x16))); this.anchor = anchor; diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java index 2ec01950f2c..206827c5674 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java @@ -2133,7 +2133,7 @@ public abstract class PHPCompletionItem implements CompletionProposal { private static ImageIcon icon() { if (interfaceIcon == null) { - interfaceIcon = new ImageIcon(ImageUtilities.loadImage(PHP_INTERFACE_ICON)); + interfaceIcon = ImageUtilities.loadImageIcon(PHP_INTERFACE_ICON, false); } return interfaceIcon; } diff --git a/php/php.smarty/src/org/netbeans/modules/php/smarty/editor/completion/TplCompletionItem.java b/php/php.smarty/src/org/netbeans/modules/php/smarty/editor/completion/TplCompletionItem.java index b4325aaf7ed..aaa1966feed 100644 --- a/php/php.smarty/src/org/netbeans/modules/php/smarty/editor/completion/TplCompletionItem.java +++ b/php/php.smarty/src/org/netbeans/modules/php/smarty/editor/completion/TplCompletionItem.java @@ -34,6 +34,7 @@ import javax.swing.text.BadLocationException; import javax.swing.text.JTextComponent; import org.netbeans.spi.editor.completion.support.AsyncCompletionTask; import org.netbeans.spi.editor.completion.support.CompletionUtilities; +import org.openide.util.ImageUtilities; /** * Code completion result item base class @@ -208,7 +209,7 @@ public class TplCompletionItem implements CompletionItem { } protected ImageIcon getIcon() { - return new ImageIcon(getClass().getResource("/org/netbeans/modules/php/smarty/resources/tpl-cc-icon.png")); + return ImageUtilities.loadImageIcon("org/netbeans/modules/php/smarty/resources/tpl-cc-icon.png", false); } protected String getLeftHtmlText() { diff --git a/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ETableHeader.java b/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ETableHeader.java index f999638184c..2ed46b42286 100644 --- a/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ETableHeader.java +++ b/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ETableHeader.java @@ -37,6 +37,7 @@ import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; +import org.openide.util.ImageUtilities; /** * The ETable header renderer. @@ -179,7 +180,7 @@ class ETableHeader extends JTableHeader { if (customIcon == null) { label.setIcon(sortIcon); } else { - label.setIcon(mergeIcons(customIcon, sortIcon, 16, 0, label)); + label.setIcon(ImageUtilities.mergeIcons(customIcon, sortIcon, 16, 0)); } } } @@ -242,39 +243,4 @@ class ETableHeader extends JTableHeader { g.drawLine(x + 8, y + 6, x + 4, y + 2); } } - - /** - * Utility method merging 2 icons. - */ - private static Icon mergeIcons(Icon icon1, Icon icon2, int x, int y, Component c) { - int w = 0, h = 0; - if (icon1 != null) { - w = icon1.getIconWidth(); - h = icon1.getIconHeight(); - } - if (icon2 != null) { - w = icon2.getIconWidth() + x > w ? icon2.getIconWidth() + x : w; - h = icon2.getIconHeight() + y > h ? icon2.getIconHeight() + y : h; - } - if (w < 1) w = 16; - if (h < 1) h = 16; - - java.awt.image.ColorModel model = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment (). - getDefaultScreenDevice ().getDefaultConfiguration (). - getColorModel (java.awt.Transparency.BITMASK); - java.awt.image.BufferedImage buffImage = new java.awt.image.BufferedImage (model, - model.createCompatibleWritableRaster (w, h), model.isAlphaPremultiplied (), null); - - java.awt.Graphics g = buffImage.createGraphics (); - if (icon1 != null) { - icon1.paintIcon(c, g, 0, 0); - } - if (icon2 != null) { - icon2.paintIcon(c, g, x, y); - } - g.dispose(); - - return new ImageIcon(buffImage); - } - } diff --git a/platform/openide.awt/src/org/openide/awt/Actions.java b/platform/openide.awt/src/org/openide/awt/Actions.java index d5ea2db39c1..fa598c5838b 100644 --- a/platform/openide.awt/src/org/openide/awt/Actions.java +++ b/platform/openide.awt/src/org/openide/awt/Actions.java @@ -103,15 +103,6 @@ public class Actions { */ private static Icon nonNullIcon(Icon i) { return null; - - /*if (i != null) { - return i; - } else { - if (BLANK_ICON == null) { - BLANK_ICON = new ImageIcon(Utilities.loadImage("org/openide/resources/actions/empty.gif", true)); // NOI18N - } - return BLANK_ICON; - }*/ } /** Method that finds the keydescription assigned to this action. diff --git a/platform/options.keymap/src/org/netbeans/modules/options/keymap/TableSorter.java b/platform/options.keymap/src/org/netbeans/modules/options/keymap/TableSorter.java index 8d241c15b87..9be107b4b74 100644 --- a/platform/options.keymap/src/org/netbeans/modules/options/keymap/TableSorter.java +++ b/platform/options.keymap/src/org/netbeans/modules/options/keymap/TableSorter.java @@ -30,7 +30,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import javax.swing.Icon; -import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.event.TableModelEvent; @@ -41,6 +40,7 @@ import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumnModel; import javax.swing.table.TableModel; +import org.openide.util.ImageUtilities; /** * TableSorter is a decorator for TableModels; adding sorting @@ -223,9 +223,9 @@ public class TableSorter extends AbstractTableModel { return null; } if (directive.direction == DESCENDING) { - return new ImageIcon(getClass().getResource("/org/netbeans/modules/options/keymap/columnsSortedDesc.png")); // NOI18N + return ImageUtilities.loadIcon("org/netbeans/modules/options/keymap/columnsSortedDesc.png"); // NOI18N } else { - return new ImageIcon(getClass().getResource("/org/netbeans/modules/options/keymap/columnsSortedAsc.png")); // NOI18N + return ImageUtilities.loadIcon("org/netbeans/modules/options/keymap/columnsSortedAsc.png"); // NOI18N } } diff --git a/platform/print/src/org/netbeans/modules/print/util/UI.java b/platform/print/src/org/netbeans/modules/print/util/UI.java index 2e171df0204..1c1decc6ff6 100644 --- a/platform/print/src/org/netbeans/modules/print/util/UI.java +++ b/platform/print/src/org/netbeans/modules/print/util/UI.java @@ -65,6 +65,7 @@ import org.openide.NotifyDescriptor; import org.openide.awt.Mnemonics; import org.openide.loaders.DataObject; import org.openide.nodes.Node; +import org.openide.util.ImageUtilities; import org.openide.windows.TopComponent; import org.openide.util.Lookup; import org.openide.util.NbBundle; @@ -269,11 +270,11 @@ public final class UI { DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(message, type)); } - public static ImageIcon icon(Class clazz, String name) { + public static Icon icon(Class clazz, String name) { if (name == null) { return null; } - return new ImageIcon(clazz.getResource("image/" + name + ".gif")); // NOI18N + return ImageUtilities.loadIcon("org/netbeans/modules/print/util/image/" + name + ".gif"); // NOI18N } public static Node getSelectedNode() { diff --git a/profiler/lib.profiler.ui/nbproject/project.xml b/profiler/lib.profiler.ui/nbproject/project.xml index d3b8d70f7d0..3e9ca85df4e 100644 --- a/profiler/lib.profiler.ui/nbproject/project.xml +++ b/profiler/lib.profiler.ui/nbproject/project.xml @@ -69,6 +69,14 @@ <specification-version>8.9</specification-version> </run-dependency> </dependency> + <dependency> + <code-name-base>org.openide.util.ui</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>9.36</specification-version> + </run-dependency> + </dependency> </module-dependencies> <test-dependencies> <test-type> diff --git a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/components/tree/MethodNameTreeCellRenderer.java b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/components/tree/MethodNameTreeCellRenderer.java index 7f13650632c..a0d2e623cfa 100644 --- a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/components/tree/MethodNameTreeCellRenderer.java +++ b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/components/tree/MethodNameTreeCellRenderer.java @@ -27,6 +27,7 @@ import org.netbeans.lib.profiler.results.memory.PresoObjAllocCCTNode; import org.netbeans.lib.profiler.ui.UIUtils; import org.netbeans.modules.profiler.api.icons.Icons; import org.netbeans.modules.profiler.api.icons.ProfilerIcons; +import org.openide.util.ImageUtilities; /** @@ -71,11 +72,11 @@ public class MethodNameTreeCellRenderer extends EnhancedTreeCellRenderer { return threadIcon; } } else if (cct.isFiltered()) { - return UIManager.getLookAndFeel().getDisabledIcon(this, super.getClosedIcon(value)); + return ImageUtilities.createDisabledIcon(super.getClosedIcon(value)); } } else if (value instanceof PresoObjAllocCCTNode) { if (((PresoObjAllocCCTNode)value).isFiltered()) { - return UIManager.getLookAndFeel().getDisabledIcon(this, super.getClosedIcon(value)); + return ImageUtilities.createDisabledIcon(super.getClosedIcon(value)); } } @@ -165,11 +166,11 @@ public class MethodNameTreeCellRenderer extends EnhancedTreeCellRenderer { return threadIcon; } } else if (cct.isFiltered()) { - return UIManager.getLookAndFeel().getDisabledIcon(this, super.getLeafIcon(value)); + return ImageUtilities.createDisabledIcon(super.getLeafIcon(value)); } } else if (value instanceof PresoObjAllocCCTNode) { if (((PresoObjAllocCCTNode)value).isFiltered()) { - return UIManager.getLookAndFeel().getDisabledIcon(this, super.getLeafIcon(value)); + return ImageUtilities.createDisabledIcon(super.getLeafIcon(value)); } } @@ -188,11 +189,11 @@ public class MethodNameTreeCellRenderer extends EnhancedTreeCellRenderer { return threadIcon; } } else if (cct.isFiltered()) { - return UIManager.getLookAndFeel().getDisabledIcon(this, super.getOpenIcon(value)); + return ImageUtilities.createDisabledIcon(super.getOpenIcon(value)); } } else if (value instanceof PresoObjAllocCCTNode) { if (((PresoObjAllocCCTNode)value).isFiltered()) { - return UIManager.getLookAndFeel().getDisabledIcon(this, super.getOpenIcon(value)); + return ImageUtilities.createDisabledIcon(super.getOpenIcon(value)); } } diff --git a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/cpu/CPUJavaNameRenderer.java b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/cpu/CPUJavaNameRenderer.java index 09233ebc572..84fdfcc2021 100644 --- a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/cpu/CPUJavaNameRenderer.java +++ b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/cpu/CPUJavaNameRenderer.java @@ -20,11 +20,11 @@ package org.netbeans.lib.profiler.ui.cpu; import javax.swing.Icon; -import javax.swing.UIManager; import org.netbeans.lib.profiler.results.cpu.PrestimeCPUCCTNode; import org.netbeans.lib.profiler.ui.swing.renderer.JavaNameRenderer; import org.netbeans.modules.profiler.api.icons.Icons; import org.netbeans.modules.profiler.api.icons.ProfilerIcons; +import org.openide.util.ImageUtilities; /** * @@ -33,9 +33,9 @@ import org.netbeans.modules.profiler.api.icons.ProfilerIcons; public class CPUJavaNameRenderer extends JavaNameRenderer { private static final Icon THREAD_ICON = Icons.getIcon(ProfilerIcons.THREAD); - private static final Icon THREAD_ICON_DISABLED = UIManager.getLookAndFeel().getDisabledIcon(null, THREAD_ICON); + private static final Icon THREAD_ICON_DISABLED = ImageUtilities.createDisabledIcon(THREAD_ICON); private static final Icon LEAF_ICON = Icons.getIcon(ProfilerIcons.NODE_LEAF); - private static final Icon LEAF_ICON_DISABLED = UIManager.getLookAndFeel().getDisabledIcon(null, LEAF_ICON); + private static final Icon LEAF_ICON_DISABLED = ImageUtilities.createDisabledIcon(LEAF_ICON); private final Icon icon; private final Icon iconDisabled; @@ -46,7 +46,7 @@ public class CPUJavaNameRenderer extends JavaNameRenderer { public CPUJavaNameRenderer(String iconKey) { this.icon = Icons.getIcon(iconKey); - this.iconDisabled = UIManager.getLookAndFeel().getDisabledIcon(null, icon); + this.iconDisabled = ImageUtilities.createDisabledIcon(icon); } public void setValue(Object value, int row) { diff --git a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/jdbc/JDBCJavaNameRenderer.java b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/jdbc/JDBCJavaNameRenderer.java index a2a9d8f7cb8..73c44ebab74 100644 --- a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/jdbc/JDBCJavaNameRenderer.java +++ b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/jdbc/JDBCJavaNameRenderer.java @@ -26,12 +26,12 @@ import java.util.Map; import javax.swing.Icon; import javax.swing.JComponent; import javax.swing.JLabel; -import javax.swing.UIManager; import javax.swing.table.DefaultTableCellRenderer; import org.netbeans.lib.profiler.results.memory.PresoObjAllocCCTNode; import org.netbeans.lib.profiler.ui.swing.renderer.JavaNameRenderer; import org.netbeans.modules.profiler.api.icons.Icons; import org.netbeans.modules.profiler.api.icons.ProfilerIcons; +import org.openide.util.ImageUtilities; /** * @@ -40,9 +40,9 @@ import org.netbeans.modules.profiler.api.icons.ProfilerIcons; final class JDBCJavaNameRenderer extends JavaNameRenderer { private static final Icon SQL_ICON = Icons.getIcon(ProfilerIcons.SQL_QUERY); - private static final Icon SQL_ICON_DISABLED = UIManager.getLookAndFeel().getDisabledIcon(null, SQL_ICON); + private static final Icon SQL_ICON_DISABLED = ImageUtilities.createDisabledIcon(SQL_ICON); private static final Icon LEAF_ICON = Icons.getIcon(ProfilerIcons.NODE_LEAF); - private static final Icon LEAF_ICON_DISABLED = UIManager.getLookAndFeel().getDisabledIcon(null, LEAF_ICON); + private static final Icon LEAF_ICON_DISABLED = ImageUtilities.createDisabledIcon(LEAF_ICON); private final Icon icon; private final Icon iconDisabled; @@ -56,7 +56,7 @@ final class JDBCJavaNameRenderer extends JavaNameRenderer { public JDBCJavaNameRenderer(String iconKey) { this.icon = Icons.getIcon(iconKey); - this.iconDisabled = UIManager.getLookAndFeel().getDisabledIcon(null, icon); + this.iconDisabled = ImageUtilities.createDisabledIcon(icon); } public void setValue(Object value, int row) { diff --git a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/memory/MemoryJavaNameRenderer.java b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/memory/MemoryJavaNameRenderer.java index 63006fbe104..6d0a01ca219 100644 --- a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/memory/MemoryJavaNameRenderer.java +++ b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/memory/MemoryJavaNameRenderer.java @@ -19,12 +19,12 @@ package org.netbeans.lib.profiler.ui.memory; import javax.swing.Icon; -import javax.swing.UIManager; import org.netbeans.lib.profiler.results.memory.PresoObjAllocCCTNode; import org.netbeans.lib.profiler.ui.swing.renderer.JavaNameRenderer; import org.netbeans.modules.profiler.api.icons.Icons; import org.netbeans.modules.profiler.api.icons.LanguageIcons; import org.netbeans.modules.profiler.api.icons.ProfilerIcons; +import org.openide.util.ImageUtilities; /** * @@ -34,7 +34,7 @@ public class MemoryJavaNameRenderer extends JavaNameRenderer { private static final Icon CLASS_ICON = Icons.getIcon(LanguageIcons.CLASS); private static final Icon REVERSE_ICON = Icons.getIcon(ProfilerIcons.NODE_REVERSE); - private static final Icon REVERSE_ICON_DISABLED = UIManager.getLookAndFeel().getDisabledIcon(null, REVERSE_ICON); + private static final Icon REVERSE_ICON_DISABLED = ImageUtilities.createDisabledIcon(REVERSE_ICON); public void setValue(Object value, int row) { if (value instanceof PresoObjAllocCCTNode) { diff --git a/profiler/profiler.api/src/org/netbeans/modules/profiler/api/icons/Icons.java b/profiler/profiler.api/src/org/netbeans/modules/profiler/api/icons/Icons.java index e8e8d6e1a4b..d8dccfbe4e4 100644 --- a/profiler/profiler.api/src/org/netbeans/modules/profiler/api/icons/Icons.java +++ b/profiler/profiler.api/src/org/netbeans/modules/profiler/api/icons/Icons.java @@ -23,6 +23,7 @@ import java.util.Collection; import javax.swing.Icon; import javax.swing.ImageIcon; import org.netbeans.modules.profiler.spi.IconsProvider; +import org.openide.util.ImageUtilities; import org.openide.util.Lookup; /** @@ -50,8 +51,11 @@ public final class Icons { */ public static ImageIcon getImageIcon(String key) { Image image = getImage(key); - if (image == null) return null; - else return new ImageIcon(image); + if (image == null) { + return null; + } else { + return ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon(image)); + } } /** diff --git a/profiler/profiler.heapwalker/src/org/netbeans/modules/profiler/heapwalk/model/BrowserUtils.java b/profiler/profiler.heapwalker/src/org/netbeans/modules/profiler/heapwalk/model/BrowserUtils.java index cc6dfd76409..cb04cf4e058 100644 --- a/profiler/profiler.heapwalker/src/org/netbeans/modules/profiler/heapwalk/model/BrowserUtils.java +++ b/profiler/profiler.heapwalker/src/org/netbeans/modules/profiler/heapwalk/model/BrowserUtils.java @@ -22,7 +22,6 @@ package org.netbeans.modules.profiler.heapwalk.model; import java.awt.Toolkit; import java.awt.datatransfer.StringSelection; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -250,15 +249,15 @@ public class BrowserUtils { } public static ImageIcon createGCRootIcon(ImageIcon icon) { - return new ImageIcon(ImageUtilities.mergeImages(icon.getImage(), ICON_GCROOT.getImage(), 0, 0)); + return ImageUtilities.icon2ImageIcon(ImageUtilities.mergeIcons(icon, ICON_GCROOT, 0, 0)); } public static ImageIcon createLoopIcon(ImageIcon icon) { - return new ImageIcon(ImageUtilities.mergeImages(icon.getImage(), ICON_LOOP.getImage(), 0, 0)); + return ImageUtilities.icon2ImageIcon(ImageUtilities.mergeIcons(icon, ICON_LOOP, 0, 0)); } public static ImageIcon createStaticIcon(ImageIcon icon) { - return new ImageIcon(ImageUtilities.mergeImages(icon.getImage(), ICON_STATIC.getImage(), 0, 0)); + return ImageUtilities.icon2ImageIcon(ImageUtilities.mergeIcons(icon, ICON_STATIC, 0, 0)); } public static HeapWalkerNode[] lazilyCreateChildren(final HeapWalkerNode parent, final ChildrenComputer childrenComputer) { diff --git a/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/FSCompletionItem.java b/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/FSCompletionItem.java index d0b6ee090e5..90bd4442082 100644 --- a/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/FSCompletionItem.java +++ b/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/FSCompletionItem.java @@ -33,6 +33,7 @@ import org.netbeans.modules.csl.api.OffsetRange; import org.netbeans.modules.csl.spi.ParserResult; import org.openide.filesystems.FileObject; import org.openide.loaders.DataObject; +import org.openide.util.ImageUtilities; /** * @@ -52,7 +53,7 @@ public class FSCompletionItem implements CompletionProposal { this.element = new FSElementHandle(file); DataObject od = DataObject.find(file); - icon = new ImageIcon(od.getNodeDelegate().getIcon(BeanInfo.ICON_COLOR_16x16)); + icon = ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon(od.getNodeDelegate().getIcon(BeanInfo.ICON_COLOR_16x16))); this.anchor = anchor; this.addExtension = addExtension; diff --git a/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/JsCompletionItem.java b/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/JsCompletionItem.java index 1e41e0f9887..4e4bbf61a06 100644 --- a/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/JsCompletionItem.java +++ b/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/JsCompletionItem.java @@ -338,7 +338,7 @@ public class JsCompletionItem implements CompletionProposal { public ImageIcon getIcon() { if (getModifiers().contains(Modifier.PROTECTED)) { if(priviligedIcon == null) { - priviligedIcon = new ImageIcon(ImageUtilities.loadImage("org/netbeans/modules/javascript2/editor/resources/methodPriviliged.png")); //NOI18N + priviligedIcon = ImageUtilities.loadImageIcon("org/netbeans/modules/javascript2/editor/resources/methodPriviliged.png", false); //NOI18N } return priviligedIcon; } @@ -408,17 +408,17 @@ public class JsCompletionItem implements CompletionProposal { public ImageIcon getIcon() { if (getModifiers().contains(Modifier.PUBLIC)) { if (publicGenerator == null) { - publicGenerator = new ImageIcon(ImageUtilities.loadImage("org/netbeans/modules/javascript2/editor/resources/generatorPublic.png")); //NOI18N + publicGenerator = ImageUtilities.loadImageIcon("org/netbeans/modules/javascript2/editor/resources/generatorPublic.png", false); //NOI18N } return publicGenerator; } else if (getModifiers().contains(Modifier.PRIVATE)) { if (privateGenerator == null) { - privateGenerator = new ImageIcon(ImageUtilities.loadImage("org/netbeans/modules/javascript2/editor/resources/generatorPrivate.png")); //NOI18N + privateGenerator = ImageUtilities.loadImageIcon("org/netbeans/modules/javascript2/editor/resources/generatorPrivate.png", false); //NOI18N } return privateGenerator; } else if (getModifiers().contains(Modifier.PROTECTED)) { if (priviligedGenerator == null) { - priviligedGenerator = new ImageIcon(ImageUtilities.loadImage("org/netbeans/modules/javascript2/editor/resources/generatorPriviliged.png")); //NOI18N + priviligedGenerator = ImageUtilities.loadImageIcon("org/netbeans/modules/javascript2/editor/resources/generatorPriviliged.png", false); //NOI18N } return priviligedGenerator; } @@ -439,7 +439,7 @@ public class JsCompletionItem implements CompletionProposal { @Override public ImageIcon getIcon() { if (callbackIcon == null) { - callbackIcon = new ImageIcon(ImageUtilities.loadImage("org/netbeans/modules/javascript2/editor/resources/methodCallback.png")); //NOI18N + callbackIcon = ImageUtilities.loadImageIcon("org/netbeans/modules/javascript2/editor/resources/methodCallback.png", false); //NOI18N } return callbackIcon; } @@ -572,7 +572,7 @@ public class JsCompletionItem implements CompletionProposal { @Override public ImageIcon getIcon() { if (keywordIcon == null) { - keywordIcon = new ImageIcon(ImageUtilities.loadImage("org/netbeans/modules/javascript2/editor/resources/javascript.png")); //NOI18N + keywordIcon = ImageUtilities.loadImageIcon("org/netbeans/modules/javascript2/editor/resources/javascript.png", false); //NOI18N } return keywordIcon; } diff --git a/webcommon/javascript2.requirejs/src/org/netbeans/modules/javascript2/requirejs/editor/FSCompletionItem.java b/webcommon/javascript2.requirejs/src/org/netbeans/modules/javascript2/requirejs/editor/FSCompletionItem.java index 68abd3cc56d..889a1a425e2 100644 --- a/webcommon/javascript2.requirejs/src/org/netbeans/modules/javascript2/requirejs/editor/FSCompletionItem.java +++ b/webcommon/javascript2.requirejs/src/org/netbeans/modules/javascript2/requirejs/editor/FSCompletionItem.java @@ -20,10 +20,8 @@ package org.netbeans.modules.javascript2.requirejs.editor; import java.beans.BeanInfo; import java.io.IOException; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; -import java.util.List; import java.util.Set; import javax.swing.ImageIcon; import org.netbeans.modules.csl.api.CompletionProposal; @@ -35,6 +33,7 @@ import org.netbeans.modules.csl.api.OffsetRange; import org.netbeans.modules.csl.spi.ParserResult; import org.openide.filesystems.FileObject; import org.openide.loaders.DataObject; +import org.openide.util.ImageUtilities; /** * @@ -54,7 +53,7 @@ public class FSCompletionItem implements CompletionProposal { this.element = new FSElementHandle(file); DataObject od = DataObject.find(file); - icon = new ImageIcon(od.getNodeDelegate().getIcon(BeanInfo.ICON_COLOR_16x16)); + icon = ImageUtilities.icon2ImageIcon(ImageUtilities.image2Icon(od.getNodeDelegate().getIcon(BeanInfo.ICON_COLOR_16x16))); this.anchor = anchor; this.addExtension = addExtension; diff --git a/webcommon/javascript2.requirejs/src/org/netbeans/modules/javascript2/requirejs/editor/MappingCompletionItem.java b/webcommon/javascript2.requirejs/src/org/netbeans/modules/javascript2/requirejs/editor/MappingCompletionItem.java index 7323f9589cd..3cbbb167f08 100644 --- a/webcommon/javascript2.requirejs/src/org/netbeans/modules/javascript2/requirejs/editor/MappingCompletionItem.java +++ b/webcommon/javascript2.requirejs/src/org/netbeans/modules/javascript2/requirejs/editor/MappingCompletionItem.java @@ -75,7 +75,7 @@ public class MappingCompletionItem implements CompletionProposal { public ImageIcon getIcon() { if (REQUIREJS_ICON == null) { - REQUIREJS_ICON = new ImageIcon(ImageUtilities.loadImage("org/netbeans/modules/javascript2/requirejs/resources/requirejs.png")); //NOI18N + REQUIREJS_ICON = ImageUtilities.loadImageIcon("org/netbeans/modules/javascript2/requirejs/resources/requirejs.png", false); //NOI18N } return REQUIREJS_ICON; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
