forked from dorkbox/SystemTray
Updated examples to include new functionality
This commit is contained in:
parent
7e2834c0cb
commit
4bbe713519
@ -414,7 +414,7 @@ class Menu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This removes a sub-menu entry or sub-menu from the dropdown menu.
|
* This removes a sub-menu entry from the dropdown menu.
|
||||||
*
|
*
|
||||||
* @param menu This is the menu entry to remove
|
* @param menu This is the menu entry to remove
|
||||||
*/
|
*/
|
||||||
@ -484,4 +484,12 @@ class Menu {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This removes the sub-menu entry from the dropdown menu.
|
||||||
|
*/
|
||||||
|
public
|
||||||
|
void remove() {
|
||||||
|
getParent().remove(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,45 +50,61 @@ class TestTray {
|
|||||||
throw new RuntimeException("Unable to load SystemTray!");
|
throw new RuntimeException("Unable to load SystemTray!");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.systemTray.setIcon(LT_GRAY_MAIL);
|
systemTray.setIcon(LT_GRAY_MAIL);
|
||||||
systemTray.setStatus("No Mail");
|
systemTray.setStatus("No Mail");
|
||||||
|
|
||||||
callbackGreen = new SystemTrayMenuAction() {
|
callbackGreen = new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.setStatus("Some Mail!");
|
systemTray.setStatus("Some Mail!");
|
||||||
systemTray.setIcon(GREEN_MAIL);
|
systemTray.setIcon(GREEN_MAIL);
|
||||||
|
|
||||||
menuEntry.setCallback(callbackGray);
|
menuEntry.setCallback(callbackGray);
|
||||||
menuEntry.setImage(BLACK_MAIL);
|
menuEntry.setImage(BLACK_MAIL);
|
||||||
menuEntry.setText("Delete Mail");
|
menuEntry.setText("Delete Mail");
|
||||||
// systemTray.removeMenuEntry(menuEntry);
|
// systemTray.remove(menuEntry);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
callbackGray = new SystemTrayMenuAction() {
|
callbackGray = new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.setStatus(null);
|
systemTray.setStatus(null);
|
||||||
systemTray.setIcon(BLACK_MAIL);
|
systemTray.setIcon(BLACK_MAIL);
|
||||||
|
|
||||||
menuEntry.setCallback(null);
|
menuEntry.setCallback(null);
|
||||||
// systemTray.setStatus("Mail Empty");
|
// systemTray.setStatus("Mail Empty");
|
||||||
systemTray.removeMenuEntry(menuEntry);
|
systemTray.remove(menuEntry);
|
||||||
System.err.println("POW");
|
System.err.println("POW");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.systemTray.addMenuEntry("Green Mail", GREEN_MAIL, callbackGreen);
|
this.systemTray.addEntry("Green Mail", GREEN_MAIL, callbackGreen);
|
||||||
this.systemTray.addMenuSpacer();
|
this.systemTray.addSeparator();
|
||||||
this.systemTray.addMenuEntry("AAAAAAAA", LT_GRAY_MAIL, null);
|
|
||||||
|
|
||||||
systemTray.addMenuEntry("Quit", new SystemTrayMenuAction() {
|
final Menu submenu = this.systemTray.addMenu("Options", BLACK_MAIL);
|
||||||
|
submenu.addEntry("Disable menu", LT_GRAY_MAIL, new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
|
||||||
|
submenu.setEnabled(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
submenu.addEntry("Remove menu", GREEN_MAIL, new SystemTrayMenuAction() {
|
||||||
|
@Override
|
||||||
|
public
|
||||||
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
|
||||||
|
submenu.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
systemTray.addEntry("Quit", new SystemTrayMenuAction() {
|
||||||
|
@Override
|
||||||
|
public
|
||||||
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.shutdown();
|
systemTray.shutdown();
|
||||||
//System.exit(0); not necessary if all non-daemon threads have stopped.
|
//System.exit(0); not necessary if all non-daemon threads have stopped.
|
||||||
}
|
}
|
||||||
|
@ -90,38 +90,54 @@ class TestTrayJavaFX extends Application {
|
|||||||
callbackGreen = new SystemTrayMenuAction() {
|
callbackGreen = new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.setIcon(GREEN_MAIL);
|
systemTray.setIcon(GREEN_MAIL);
|
||||||
systemTray.setStatus("Some Mail!");
|
systemTray.setStatus("Some Mail!");
|
||||||
|
|
||||||
menuEntry.setCallback(callbackGray);
|
menuEntry.setCallback(callbackGray);
|
||||||
menuEntry.setImage(BLACK_MAIL);
|
menuEntry.setImage(BLACK_MAIL);
|
||||||
menuEntry.setText("Delete Mail");
|
menuEntry.setText("Delete Mail");
|
||||||
// systemTray.removeMenuEntry(menuEntry);
|
// systemTray.remove(menuEntry);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
callbackGray = new SystemTrayMenuAction() {
|
callbackGray = new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.setStatus(null);
|
systemTray.setStatus(null);
|
||||||
systemTray.setIcon(BLACK_MAIL);
|
systemTray.setIcon(BLACK_MAIL);
|
||||||
|
|
||||||
menuEntry.setCallback(null);
|
menuEntry.setCallback(null);
|
||||||
// systemTray.setStatus("Mail Empty");
|
// systemTray.setStatus("Mail Empty");
|
||||||
systemTray.removeMenuEntry(menuEntry);
|
systemTray.remove(menuEntry);
|
||||||
System.err.println("POW");
|
System.err.println("POW");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.systemTray.addMenuEntry("Green Mail", GREEN_MAIL, callbackGreen);
|
this.systemTray.addEntry("Green Mail", GREEN_MAIL, callbackGreen);
|
||||||
this.systemTray.addMenuSpacer();
|
this.systemTray.addSeparator();
|
||||||
|
|
||||||
systemTray.addMenuEntry("Quit", new SystemTrayMenuAction() {
|
final Menu submenu = this.systemTray.addMenu("Options", BLACK_MAIL);
|
||||||
|
submenu.addEntry("Disable menu", LT_GRAY_MAIL, new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
|
||||||
|
submenu.setEnabled(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
submenu.addEntry("Remove menu", GREEN_MAIL, new SystemTrayMenuAction() {
|
||||||
|
@Override
|
||||||
|
public
|
||||||
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
|
||||||
|
submenu.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
systemTray.addEntry("Quit", new SystemTrayMenuAction() {
|
||||||
|
@Override
|
||||||
|
public
|
||||||
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.shutdown();
|
systemTray.shutdown();
|
||||||
Platform.exit(); // necessary to close javaFx
|
Platform.exit(); // necessary to close javaFx
|
||||||
//System.exit(0); not necessary if all non-daemon threads have stopped.
|
//System.exit(0); not necessary if all non-daemon threads have stopped.
|
||||||
|
@ -74,38 +74,54 @@ class TestTraySwt {
|
|||||||
callbackGreen = new SystemTrayMenuAction() {
|
callbackGreen = new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final dorkbox.systemTray.Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.setStatus("Some Mail!");
|
systemTray.setStatus("Some Mail!");
|
||||||
systemTray.setIcon(GREEN_MAIL);
|
systemTray.setIcon(GREEN_MAIL);
|
||||||
|
|
||||||
menuEntry.setCallback(callbackGray);
|
menuEntry.setCallback(callbackGray);
|
||||||
menuEntry.setImage(BLACK_MAIL);
|
menuEntry.setImage(BLACK_MAIL);
|
||||||
menuEntry.setText("Delete Mail");
|
menuEntry.setText("Delete Mail");
|
||||||
// systemTray.removeMenuEntry(menuEntry);
|
// systemTray.remove(menuEntry);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
callbackGray = new SystemTrayMenuAction() {
|
callbackGray = new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.setStatus(null);
|
systemTray.setStatus(null);
|
||||||
systemTray.setIcon(BLACK_MAIL);
|
systemTray.setIcon(BLACK_MAIL);
|
||||||
|
|
||||||
menuEntry.setCallback(null);
|
menuEntry.setCallback(null);
|
||||||
// systemTray.setStatus("Mail Empty");
|
// systemTray.setStatus("Mail Empty");
|
||||||
systemTray.removeMenuEntry(menuEntry);
|
systemTray.remove(menuEntry);
|
||||||
System.err.println("POW");
|
System.err.println("POW");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.systemTray.addMenuEntry("Green Mail", GREEN_MAIL, callbackGreen);
|
this.systemTray.addEntry("Green Mail", GREEN_MAIL, callbackGreen);
|
||||||
this.systemTray.addMenuSpacer();
|
this.systemTray.addSeparator();
|
||||||
|
|
||||||
systemTray.addMenuEntry("Quit", new SystemTrayMenuAction() {
|
final Menu submenu = this.systemTray.addMenu("Options", BLACK_MAIL);
|
||||||
|
submenu.addEntry("Disable menu", LT_GRAY_MAIL, new SystemTrayMenuAction() {
|
||||||
@Override
|
@Override
|
||||||
public
|
public
|
||||||
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
|
||||||
|
submenu.setEnabled(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
submenu.addEntry("Remove menu", GREEN_MAIL, new SystemTrayMenuAction() {
|
||||||
|
@Override
|
||||||
|
public
|
||||||
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
|
||||||
|
submenu.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
systemTray.addEntry("Quit", new SystemTrayMenuAction() {
|
||||||
|
@Override
|
||||||
|
public
|
||||||
|
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
|
||||||
systemTray.shutdown();
|
systemTray.shutdown();
|
||||||
|
|
||||||
display.asyncExec(new Runnable() {
|
display.asyncExec(new Runnable() {
|
||||||
|
Loading…
Reference in New Issue
Block a user