📄 jremuimanager.java
字号:
package fildiv.jremcntl.server.gui.core;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JPopupMenu;import org.jdesktop.jdic.tray.SystemTray;import org.jdesktop.jdic.tray.TrayIcon;import fildiv.jremcntl.common.util.JRemUtils;import fildiv.jremcntl.server.core.JRemEnv;import fildiv.jremcntl.server.gui.app.JRemServerGUI;public class JRemUIManager { private JRemEnv env; private ImageIcon image; private ImageIcon smallImage; private ImageIcon runningImage; private ImageIcon stoppedImage; private ImageIcon clientConnectedImage; private JRemServerGUI serverGUI; private TrayManager trayMng; protected class TrayManager { private String captionTrailer = ""; private SystemTray tray = SystemTray.getDefaultSystemTray(); private TrayIcon ti; protected TrayManager() { ImageIcon icon = stoppedImage; JPopupMenu popupMenu = null;; String text = getCaptionText(); ti = new TrayIcon(icon, text, popupMenu); ti.setIconAutoSize(false); ti.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { onTrayActionPerformed(e); } }); tray.addTrayIcon(ti); } private String getCaptionText() { StringBuffer s = new StringBuffer(env.getApplicationName()); if (JRemUtils.safeString(captionTrailer).length() > 0) { s.append(" - " + captionTrailer); } return s.toString(); } public void setIcon(ImageIcon image) { ti.setIcon(image); } public void displayError(String errorMessage) { ti.displayMessage(env.getApplicationName(), errorMessage, TrayIcon.ERROR_MESSAGE_TYPE); } public void displayInfo(String message) { ti.displayMessage(env.getApplicationName(), message, TrayIcon.INFO_MESSAGE_TYPE); } public void setCaptionTrailer(String trailer) { this.captionTrailer = trailer; ti.setCaption(getCaptionText()); } public String getCaptionTrailer() { return captionTrailer; } } public JRemUIManager(JRemServerGUI serverGUI) { env = JRemEnv.getInstance(); this.serverGUI = serverGUI; image = new ImageIcon(env.getAppImageURL()); smallImage = new ImageIcon(env.getAppSmallImageURL()); runningImage = new ImageIcon(env.getAppServerRunningImageURL()); stoppedImage = new ImageIcon(env.getAppServerStoppedImageURL()); clientConnectedImage = new ImageIcon(env.getAppClientConnectedImageURL()); trayMng = new TrayManager(); } public void setRunningUI(boolean running) { ImageIcon image = running ? runningImage : stoppedImage; trayMng.setIcon(image); } public void setClientConnectedUI() { trayMng.setIcon(clientConnectedImage); } public void setGUIMinimized(boolean minimize) { if (env.getAppConfiguration().isGUIMinimizeInTray()) serverGUI.setVisibile(!minimize); else { if (minimize) serverGUI.minimize(); else serverGUI.restore(); } } public boolean isGUIMinimized() { if (env.getAppConfiguration().isGUIMinimizeInTray()) return serverGUI.isVisible(); return serverGUI.isMinimized(); } public boolean isGUIVisible() { return serverGUI.isVisible(); } public ImageIcon getImageIcon() { return image; } public void onTrayActionPerformed(ActionEvent e) { serverGUI.restore(); setGUIMinimized(false); } public void displayTrayIconError(String errorMessage) { trayMng.displayError(errorMessage); } public void displayTrayIconInfo(String message) { trayMng.displayInfo(message); } public String getCaptionTrailer() { return trayMng.getCaptionTrailer(); } public void setCaptionTrailer(String trailer) { trayMng.setCaptionTrailer(trailer); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -