Fixed swing border/margins for menus/entries
This commit is contained in:
parent
4b10ff9eac
commit
de8d1d8b07
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package dorkbox.systemTray.swing;
|
package dorkbox.systemTray.swing;
|
||||||
|
|
||||||
|
import java.awt.Insets;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -28,6 +29,20 @@ import dorkbox.util.SwingUtil;
|
|||||||
|
|
||||||
public
|
public
|
||||||
class SwingMenuEntryItem extends SwingMenuEntry {
|
class SwingMenuEntryItem extends SwingMenuEntry {
|
||||||
|
private static
|
||||||
|
class AdjustedJMenuItem extends JMenuItem {
|
||||||
|
@Override
|
||||||
|
public
|
||||||
|
Insets getMargin() {
|
||||||
|
Insets margin = super.getMargin();
|
||||||
|
if (margin != null) {
|
||||||
|
margin.set(2, -2, 2, 4);
|
||||||
|
}
|
||||||
|
return margin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private final ActionListener swingCallback;
|
private final ActionListener swingCallback;
|
||||||
|
|
||||||
private volatile boolean hasLegitIcon = false;
|
private volatile boolean hasLegitIcon = false;
|
||||||
@ -36,7 +51,7 @@ class SwingMenuEntryItem extends SwingMenuEntry {
|
|||||||
public
|
public
|
||||||
// this is ALWAYS called on the EDT.
|
// this is ALWAYS called on the EDT.
|
||||||
SwingMenuEntryItem(final SystemTrayMenuAction callback, final SwingSystemTray systemTray) {
|
SwingMenuEntryItem(final SystemTrayMenuAction callback, final SwingSystemTray systemTray) {
|
||||||
super(new JMenuItem(), systemTray);
|
super(new AdjustedJMenuItem(), systemTray);
|
||||||
|
|
||||||
this.callback = callback;
|
this.callback = callback;
|
||||||
swingCallback = new ActionListener() {
|
swingCallback = new ActionListener() {
|
||||||
|
@ -22,6 +22,7 @@ import java.awt.event.MouseAdapter;
|
|||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
import javax.swing.JPopupMenu;
|
import javax.swing.JPopupMenu;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
import dorkbox.util.DelayTimer;
|
import dorkbox.util.DelayTimer;
|
||||||
import dorkbox.util.Property;
|
import dorkbox.util.Property;
|
||||||
@ -50,7 +51,8 @@ class SwingSystemTrayMenuPopup extends JPopupMenu {
|
|||||||
SwingSystemTrayMenuPopup() {
|
SwingSystemTrayMenuPopup() {
|
||||||
super();
|
super();
|
||||||
setFocusable(true);
|
setFocusable(true);
|
||||||
// setBorder(new BorderUIResource.EmptyBorderUIResource(0,0,0,0));
|
// setBorder(new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0)); // borderUI resource border type will get changed!
|
||||||
|
setBorder(new EmptyBorder(1, 1, 1, 1));
|
||||||
|
|
||||||
this.timer = new DelayTimer("PopupMenuHider", true, new Runnable() {
|
this.timer = new DelayTimer("PopupMenuHider", true, new Runnable() {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user