MCPcopy Create free account
hub / github.com/dorkbox/SystemTray / TestTray

Method TestTray

test/dorkbox/TestTray.java:63–194  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

61 private final ActionListener callbackGray;
62
63 public
64 TestTray() {
65 SystemTray.DEBUG = true; // for test apps, we always want to run in debug mode
66 // SystemTray.FORCE_TRAY_TYPE = SystemTray.TrayType.Swing;
67 // SystemTray.FORCE_TRAY_TYPE = SystemTray.TrayType.Awt;
68 // SystemTray.FORCE_TRAY_TYPE = SystemTray.TrayType.Osx;
69
70 // for test apps, make sure the cache is always reset. These are the ones used, and you should never do this in production.
71 CacheUtil.clear("SysTrayExample");
72
73 // SwingUtil.setLookAndFeel(null); // set Native L&F (this is the System L&F instead of CrossPlatform L&F)
74 // SystemTray.SWING_UI = new CustomSwingUI();
75
76 this.systemTray = SystemTray.get("SysTrayExample");
77 if (systemTray == null) {
78 throw new RuntimeException("Unable to load SystemTray!");
79 }
80
81 // SWT/JavaFX "shutdown hooks" have changed. Since it's no longer available with JPMS, it is no longer supported.
82 // Developers must add the shutdown hooks themselves.
83
84 systemTray.setTooltip("Mail Checker");
85 systemTray.setImage(LT_GRAY_TRAIN);
86 systemTray.setStatus("No Mail");
87
88 callbackGray = e->{
89 final MenuItem entry = (MenuItem) e.getSource();
90 systemTray.setStatus(null)
91 .setImage(BLACK_TRAIN);
92
93 entry.setCallback(null);
94// systemTray.setStatus("Mail Empty");
95 systemTray.getMenu().remove(entry);
96 entry.remove();
97 System.err.println("POW");
98 };
99
100
101 Menu mainMenu = systemTray.getMenu();
102
103 MenuItem greenEntry = new MenuItem("Green Mail", e->{
104 final MenuItem entry = (MenuItem) e.getSource();
105 systemTray.setStatus("Some Mail!");
106 systemTray.setImage(GREEN_TRAIN);
107
108 entry.setCallback(callbackGray);
109 entry.setImage(BLACK_MAIL);
110 entry.setText("Delete Mail");
111 entry.setTooltip(null); // remove the tooltip
112// systemTray.remove(menuEntry);
113 });
114 greenEntry.setImage(GREEN_MAIL);
115 // case does not matter
116 greenEntry.setShortcut('G');
117 greenEntry.setTooltip("This means you have green mail!");
118 mainMenu.add(greenEntry);
119
120

Callers

nothing calls this directly

Calls 15

getMethod · 0.95
setCallbackMethod · 0.95
setImageMethod · 0.95
setTextMethod · 0.95
setTooltipMethod · 0.95
setShortcutMethod · 0.95
addMethod · 0.95
setShortcutMethod · 0.95
removeMethod · 0.95
setEnabledMethod · 0.95
getMenuMethod · 0.80
getCheckedMethod · 0.80

Tested by

no test coverage detected