Fixed swing border/margins for menus/entries

This commit is contained in:
nathan 2016-09-28 18:35:25 +02:00
parent 4b10ff9eac
commit de8d1d8b07
2 changed files with 19 additions and 2 deletions

View File

@ -16,6 +16,7 @@
package dorkbox.systemTray.swing;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
@ -28,6 +29,20 @@ import dorkbox.util.SwingUtil;
public
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 volatile boolean hasLegitIcon = false;
@ -36,7 +51,7 @@ class SwingMenuEntryItem extends SwingMenuEntry {
public
// this is ALWAYS called on the EDT.
SwingMenuEntryItem(final SystemTrayMenuAction callback, final SwingSystemTray systemTray) {
super(new JMenuItem(), systemTray);
super(new AdjustedJMenuItem(), systemTray);
this.callback = callback;
swingCallback = new ActionListener() {

View File

@ -22,6 +22,7 @@ import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JPopupMenu;
import javax.swing.border.EmptyBorder;
import dorkbox.util.DelayTimer;
import dorkbox.util.Property;
@ -50,7 +51,8 @@ class SwingSystemTrayMenuPopup extends JPopupMenu {
SwingSystemTrayMenuPopup() {
super();
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() {