From eb702327d58c910e31a94fcdbce5494e075dd649 Mon Sep 17 00:00:00 2001 From: nathan Date: Wed, 10 May 2017 15:24:30 +0200 Subject: [PATCH] Code polish --- src/dorkbox/systemTray/swingUI/SwingMenuItem.java | 6 ++++-- .../systemTray/swingUI/SwingMenuItemStatus.java | 2 ++ src/dorkbox/systemTray/swingUI/_SwingTray.java | 14 +++++++++++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/dorkbox/systemTray/swingUI/SwingMenuItem.java b/src/dorkbox/systemTray/swingUI/SwingMenuItem.java index d8541c0..fd0d156 100644 --- a/src/dorkbox/systemTray/swingUI/SwingMenuItem.java +++ b/src/dorkbox/systemTray/swingUI/SwingMenuItem.java @@ -21,12 +21,13 @@ import java.io.File; import javax.swing.ImageIcon; import javax.swing.JMenuItem; +import javax.swing.SwingConstants; import dorkbox.systemTray.Entry; import dorkbox.systemTray.MenuItem; import dorkbox.systemTray.SystemTray; import dorkbox.systemTray.peer.MenuItemPeer; -import dorkbox.systemTray.util.ImageUtils; +import dorkbox.systemTray.util.ImageResizeUtil; import dorkbox.util.SwingUtil; class SwingMenuItem implements MenuItemPeer { @@ -48,10 +49,11 @@ class SwingMenuItem implements MenuItemPeer { _native.setUI(SystemTray.SWING_UI.getItemUI(_native, entry)); } + _native.setHorizontalAlignment(SwingConstants.LEFT); parent._native.add(_native); if (transparentIcon == null) { - File uncheckedFile = ImageUtils.getTransparentImage(ImageUtils.ENTRY_SIZE); + File uncheckedFile = ImageResizeUtil.getTransparentImage(); transparentIcon = new ImageIcon(uncheckedFile.getAbsolutePath()); } diff --git a/src/dorkbox/systemTray/swingUI/SwingMenuItemStatus.java b/src/dorkbox/systemTray/swingUI/SwingMenuItemStatus.java index 1692325..8b76e32 100644 --- a/src/dorkbox/systemTray/swingUI/SwingMenuItemStatus.java +++ b/src/dorkbox/systemTray/swingUI/SwingMenuItemStatus.java @@ -18,6 +18,7 @@ package dorkbox.systemTray.swingUI; import java.awt.Font; import javax.swing.JMenuItem; +import javax.swing.SwingConstants; import dorkbox.systemTray.Entry; import dorkbox.systemTray.Status; @@ -38,6 +39,7 @@ class SwingMenuItemStatus implements StatusPeer { _native.setUI(SystemTray.SWING_UI.getItemUI(_native, entry)); } + _native.setHorizontalAlignment(SwingConstants.LEFT); // status is ALWAYS at 0 index... parent._native.add(_native, 0); diff --git a/src/dorkbox/systemTray/swingUI/_SwingTray.java b/src/dorkbox/systemTray/swingUI/_SwingTray.java index 61cb590..dce73dc 100644 --- a/src/dorkbox/systemTray/swingUI/_SwingTray.java +++ b/src/dorkbox/systemTray/swingUI/_SwingTray.java @@ -59,8 +59,6 @@ class _SwingTray extends Tray implements SwingUI { "type and configuration"); } - _SwingTray.this.tray = SystemTray.getSystemTray(); - // we override various methods, because each tray implementation is SLIGHTLY different. This allows us customization. final SwingMenu swingMenu = new SwingMenu(null, null) { @Override @@ -70,6 +68,10 @@ class _SwingTray extends Tray implements SwingUI { @Override public void run() { + if (tray == null) { + tray = SystemTray.getSystemTray(); + } + boolean enabled = menuItem.getEnabled(); if (visible && !enabled) { @@ -104,6 +106,10 @@ class _SwingTray extends Tray implements SwingUI { @Override public void run() { + if (tray == null) { + tray = SystemTray.getSystemTray(); + } + // stupid java won't scale it right away, so we have to do this twice to get the correct size final Image trayImage = new ImageIcon(imageFile.getAbsolutePath()).getImage(); trayImage.flush(); @@ -167,7 +173,9 @@ class _SwingTray extends Tray implements SwingUI { public void run() { if (trayIcon != null) { - tray.remove(trayIcon); + if (tray != null) { + tray.remove(trayIcon); + } trayIcon = null; }