我作了一个SWT应用程序,实现系统托盘Tray功能,默认最小化隐藏窗口,问:
想让应用程序响应系统快捷键,有办法吗?
public class TrayShow {
protected Shell shell;
final Display display = Display.getDefault();
public static void main(String[] args) {
try {
TrayShow window = new TrayShow();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
public void open() {
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
protected void createContents() {
shell = new Shell();
shell.setSize(500, 375);
shell.setText("SWT Application");
final Tray tray = display.getSystemTray();
if(tray == null){
System.out.println("该系统不支持系统托盘");
return;
}
final Menu trayMenu = createTrayMenu(display,shell);
final TrayItem item = new TrayItem(tray,SWT.NONE);
item.setToolTipText("这是一个TrayItem");
item.setImage(display.getSystemImage(SWT.ICON_INFORMATION));
shell.pack();
shell.open();
}
}
比如在我操作别的应用程序的时候Ctrl+P把SWT应用程序激活并最大化?
想让应用程序响应系统快捷键,有办法吗?
public class TrayShow {
protected Shell shell;
final Display display = Display.getDefault();
public static void main(String[] args) {
try {
TrayShow window = new TrayShow();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
public void open() {
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
protected void createContents() {
shell = new Shell();
shell.setSize(500, 375);
shell.setText("SWT Application");
final Tray tray = display.getSystemTray();
if(tray == null){
System.out.println("该系统不支持系统托盘");
return;
}
final Menu trayMenu = createTrayMenu(display,shell);
final TrayItem item = new TrayItem(tray,SWT.NONE);
item.setToolTipText("这是一个TrayItem");
item.setImage(display.getSystemImage(SWT.ICON_INFORMATION));
shell.pack();
shell.open();
}
}
比如在我操作别的应用程序的时候Ctrl+P把SWT应用程序激活并最大化?