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 b8312bdd4ac5b8fbaf0866f1cfb3ec6f28e34a19 Author: Eirik Bakke <eba...@ultorg.com> AuthorDate: Wed May 29 15:20:59 2019 -0400 Replace 'new ImageIcon' with image2Icon for commonly visible icons. The ImageUtilities class now supports HiDPI icons via custom implementations of the Icon interface. For this to work, client code must let ImageUtilities manage the creation of new Icon instances, using "ImageUtilities.image2Icon(image)" instead of "new ImageIcon(image)". This is already common throughout the NetBeans codebase, but there are still quite a few direct uses of ImageIcon. This commit replaces a few of the direct uses of ImageIcon, for most of the icons that are commonly seen during a Java editing session in the IDE. --- java/java.source/src/org/netbeans/modules/java/ui/Icons.java | 4 ++-- .../core.windows/src/org/netbeans/core/windows/view/EditorView.java | 2 +- .../src/org/netbeans/core/windows/view/ui/TabbedHandler.java | 5 +++-- .../org/netbeans/core/windows/view/ui/slides/TabbedSlideAdapter.java | 4 ++-- .../netbeans/core/windows/view/ui/tabcontrol/AbstractTabbedImpl.java | 3 ++- .../src/org/netbeans/core/windows/view/ui/toolbars/DnDSupport.java | 2 +- .../src/org/netbeans/core/windows/view/ui/toolbars/ToolbarRow.java | 4 ++-- .../src/org/openide/explorer/view/NodeRenderDataProvider.java | 4 ++-- 8 files changed, 15 insertions(+), 13 deletions(-) diff --git a/java/java.source/src/org/netbeans/modules/java/ui/Icons.java b/java/java.source/src/org/netbeans/modules/java/ui/Icons.java index 1f6a2fd..6dc9b67 100644 --- a/java/java.source/src/org/netbeans/modules/java/ui/Icons.java +++ b/java/java.source/src/org/netbeans/modules/java/ui/Icons.java @@ -50,7 +50,7 @@ public final class Icons { return null; } else { - return new ImageIcon (img); + return ImageUtilities.image2Icon (img); } } @@ -101,7 +101,7 @@ public final class Icons { default: img = null; } - return img == null ? null : new ImageIcon (img); + return img == null ? null : ImageUtilities.image2Icon (img); } diff --git a/platform/core.windows/src/org/netbeans/core/windows/view/EditorView.java b/platform/core.windows/src/org/netbeans/core/windows/view/EditorView.java index 6da4ff8..b6afebb 100644 --- a/platform/core.windows/src/org/netbeans/core/windows/view/EditorView.java +++ b/platform/core.windows/src/org/netbeans/core/windows/view/EditorView.java @@ -202,7 +202,7 @@ public class EditorView extends ViewElement { if(imageSource != null) { Image image = ImageUtilities.loadImage(imageSource); if(image != null) { - JLabel label = new JLabel(new ImageIcon(image)); + JLabel label = new JLabel(ImageUtilities.image2Icon(image)); label.setMinimumSize(new Dimension(0, 0)); // XXX To be able shrink the area. add(label, BorderLayout.CENTER); } else { diff --git a/platform/core.windows/src/org/netbeans/core/windows/view/ui/TabbedHandler.java b/platform/core.windows/src/org/netbeans/core/windows/view/ui/TabbedHandler.java index e58c04a..bc1b284 100644 --- a/platform/core.windows/src/org/netbeans/core/windows/view/ui/TabbedHandler.java +++ b/platform/core.windows/src/org/netbeans/core/windows/view/ui/TabbedHandler.java @@ -48,6 +48,7 @@ import org.netbeans.core.windows.Switches; import org.netbeans.core.windows.view.ui.slides.SlideBar; import org.netbeans.core.windows.view.ui.slides.SlideBarActionEvent; import org.netbeans.core.windows.view.ui.slides.SlideOperationFactory; +import org.openide.util.ImageUtilities; import org.openide.util.Lookup; @@ -163,7 +164,7 @@ public final class TabbedHandler implements ChangeListener, ActionListener { } tabbed.addTopComponent( title, - icon == null ? null : new ImageIcon(icon), + icon == null ? null : ImageUtilities.image2Icon(icon), tc, tc.getToolTipText()); } finally { ignoreChange = false; @@ -205,7 +206,7 @@ public final class TabbedHandler implements ChangeListener, ActionListener { Image icon = tc.getIcon(); if( null != icon ) { - tabbed.setIconAt(index, new ImageIcon(tc.getIcon())); + tabbed.setIconAt(index, ImageUtilities.image2Icon(tc.getIcon())); } else { Logger.getLogger(TabbedHandler.class.getName()).log(Level.INFO, "TopComponent has no icon: " + tc); tabbed.setIconAt(index, null); diff --git a/platform/core.windows/src/org/netbeans/core/windows/view/ui/slides/TabbedSlideAdapter.java b/platform/core.windows/src/org/netbeans/core/windows/view/ui/slides/TabbedSlideAdapter.java index b46f665..759c4d1 100644 --- a/platform/core.windows/src/org/netbeans/core/windows/view/ui/slides/TabbedSlideAdapter.java +++ b/platform/core.windows/src/org/netbeans/core/windows/view/ui/slides/TabbedSlideAdapter.java @@ -33,7 +33,6 @@ import java.util.List; import javax.swing.Action; import javax.swing.DefaultSingleSelectionModel; import javax.swing.Icon; -import javax.swing.ImageIcon; import javax.swing.SingleSelectionModel; import javax.swing.event.ChangeListener; import org.netbeans.core.windows.Constants; @@ -48,6 +47,7 @@ import org.netbeans.swing.tabcontrol.TabDataModel; import org.netbeans.swing.tabcontrol.TabbedContainer; import org.netbeans.swing.tabcontrol.customtabs.Tabbed; import org.openide.util.ChangeSupport; +import org.openide.util.ImageUtilities; import org.openide.windows.TopComponent; /* @@ -227,7 +227,7 @@ public final class TabbedSlideAdapter extends Tabbed { String displayName = WindowManagerImpl.getInstance().getTopComponentDisplayName(tc); data[i] = new TabData( tc, - icon == null ? null : new ImageIcon(icon), + icon == null ? null : ImageUtilities.image2Icon(icon), displayName == null ? "" : displayName, // NOI18N tc.getToolTipText()); if (selected == tcs[i]) { diff --git a/platform/core.windows/src/org/netbeans/core/windows/view/ui/tabcontrol/AbstractTabbedImpl.java b/platform/core.windows/src/org/netbeans/core/windows/view/ui/tabcontrol/AbstractTabbedImpl.java index c20c60f..5b353d6 100644 --- a/platform/core.windows/src/org/netbeans/core/windows/view/ui/tabcontrol/AbstractTabbedImpl.java +++ b/platform/core.windows/src/org/netbeans/core/windows/view/ui/tabcontrol/AbstractTabbedImpl.java @@ -34,6 +34,7 @@ import org.netbeans.swing.tabcontrol.TabDataModel; import org.netbeans.swing.tabcontrol.customtabs.Tabbed; import org.netbeans.swing.tabcontrol.plaf.EqualPolygon; import org.openide.util.ChangeSupport; +import org.openide.util.ImageUtilities; import org.openide.util.WeakListeners; import org.openide.windows.TopComponent; @@ -184,7 +185,7 @@ public abstract class AbstractTabbedImpl extends Tabbed { String displayName = WindowManagerImpl.getInstance().getTopComponentDisplayName( tc ); data[i] = new TabData( tc, - icon == null ? null : new ImageIcon( icon ), + icon == null ? null : ImageUtilities.image2Icon( icon ), displayName == null ? "" : displayName, // NOI18N tc.getToolTipText() ); if( selected == tcs[i] ) { diff --git a/platform/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/DnDSupport.java b/platform/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/DnDSupport.java index 7741fe5..d9e8d10 100644 --- a/platform/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/DnDSupport.java +++ b/platform/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/DnDSupport.java @@ -367,7 +367,7 @@ final class DnDSupport implements DragSourceListener, DragGestureListener, DropT private Window createDragWindow( Image dragImage, Rectangle bounds ) { Window w = new Window( SwingUtilities.windowForComponent(sourceRow) ); - w.add(new JLabel(new ImageIcon(dragImage))); + w.add(new JLabel(ImageUtilities.image2Icon(dragImage))); w.setBounds(bounds); w.setVisible(true); NativeWindowSystem nws = NativeWindowSystem.getDefault(); diff --git a/platform/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/ToolbarRow.java b/platform/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/ToolbarRow.java index 0d9d14e..96ad2d9 100644 --- a/platform/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/ToolbarRow.java +++ b/platform/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/ToolbarRow.java @@ -35,11 +35,11 @@ import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.UIManager; +import org.openide.util.ImageUtilities; /** * Panel which holds one row of toolbars. The order of toolbars is defined @@ -183,7 +183,7 @@ class ToolbarRow extends JPanel { if( dropContainter != container ) { //create image of dragged toolbar and show it in the area where toolbar will be dropped dropContainter = container; - dropReplacement.setIcon(new ImageIcon(dragImage)); + dropReplacement.setIcon(ImageUtilities.image2Icon(dragImage)); } if( null != targetComp ) { diff --git a/platform/openide.explorer/src/org/openide/explorer/view/NodeRenderDataProvider.java b/platform/openide.explorer/src/org/openide/explorer/view/NodeRenderDataProvider.java index fa3d053..3e3117a 100644 --- a/platform/openide.explorer/src/org/openide/explorer/view/NodeRenderDataProvider.java +++ b/platform/openide.explorer/src/org/openide/explorer/view/NodeRenderDataProvider.java @@ -23,13 +23,13 @@ import java.awt.Graphics; import java.util.ArrayList; import java.util.Collections; import javax.swing.Icon; -import javax.swing.ImageIcon; import javax.swing.tree.AbstractLayoutCache; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; import org.netbeans.swing.outline.CheckRenderDataProvider; import org.netbeans.swing.outline.Outline; import org.openide.nodes.Node; +import org.openide.util.ImageUtilities; /** * @@ -103,7 +103,7 @@ class NodeRenderDataProvider implements CheckRenderDataProvider { } else { image = n.getIcon(java.beans.BeanInfo.ICON_COLOR_16x16); } - return new ImageIcon(image); + return ImageUtilities.image2Icon(image); } public String getTooltipText(Object o) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists