Swing/ClickTrayIcon のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ClickTrayIcon へ行く。
- 1 (2009-04-13 (月) 14:23:01)
- 2 (2012-10-24 (水) 13:48:34)
- 3 (2013-01-10 (木) 17:40:51)
- 4 (2014-12-25 (木) 16:38:37)
- 5 (2015-01-23 (金) 19:27:14)
- 6 (2015-06-23 (火) 16:15:08)
- 7 (2017-03-21 (火) 13:51:47)
- 8 (2018-01-18 (木) 16:09:52)
- 9 (2020-01-08 (水) 20:45:22)
- 10 (2021-07-07 (水) 20:35:45)
- 11 (2025-01-03 (金) 08:57:02)
- 12 (2025-01-03 (金) 09:01:23)
- 13 (2025-01-03 (金) 09:02:38)
- 14 (2025-01-03 (金) 09:03:21)
- 15 (2025-01-03 (金) 09:04:02)
TITLE:TrayIconのダブルクリック
Posted by aterai at 2009-04-13
TrayIconのダブルクリック
TrayIconをダブルクリックした場合フレームを表示、シングルクリックした場合はフレームを前面に表示します。
- &jar;
- &zip;
サンプルコード
Image image = new BufferedImage(16,16,BufferedImage.TYPE_INT_ARGB);
new StarIcon().paintIcon(null, image.getGraphics(), 0, 0);
final SystemTray tray = SystemTray.getSystemTray();
PopupMenu popup = new PopupMenu();
MenuItem open = new MenuItem("Option");
MenuItem exit = new MenuItem("Exit");
final TrayIcon icon = new TrayIcon(image, "Click Test", popup);
popup.add(open);
popup.add(exit);
icon.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton()==MouseEvent.BUTTON1 && e.getClickCount()==2) {
frame.setVisible(true);
}else if(frame.isVisible()) {
frame.setExtendedState(JFrame.NORMAL);
frame.toFront();
}
}
});
open.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.setVisible(true);
}
});
exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
tray.remove(icon);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//frame.dispose();
frame.getToolkit().getSystemEventQueue().postEvent(
new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));
}
});
try{
tray.add(icon);
}catch(AWTException e) {
e.printStackTrace();
}
View in GitHub: Java, Kotlin解説
TrayIconにマウスリスナーを追加してマウスでダブルクリックした場合の動作を変更します。
- 左ボタンをダブルクリック
- フレームが非表示の場合は、再表示
- 左ボタンをシングルクリック
- フレームが表示、または最小化されている場合、元のサイズに戻して最前面に表示
- フレームが非表示の場合は、なにもしない
- 中ボタンのクリック
- なにもしない
- 右ボタンのクリック
- ポップアップメニューを表示