मैं एक साधारण जावा स्विंग ऐप पर काम कर रहा हूं, जो बनाए जाने पर सिस्टम ट्रे में एक आइकन जोड़ता है। मैं जो करने का प्रयास कर रहा हूं वह यह पता लगाने के लिए है कि यह आइकन उपयोगकर्ता द्वारा क्लिक किया गया है (चाहे बाएं क्लिक या दाएं क्लिक के माध्यम से), कोई पॉपअप मेनू नहीं है, मैं आइकन को क्लिक करने पर ऐप को पुनर्स्थापित करना चाहता हूं।जावा ऐप के लिए सिस्टम ट्रेएकॉन पर एकल क्लिक का पता लगाने के लिए कैसे?
इस कोड मैं का उपयोग कर रहा है:
SystemTray tray = SystemTray.getSystemTray();
Image icon = toolkit.getImage("icon.png");
ActionListener listener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("click detected");
}
};
TrayIcon trayIcon = new TrayIcon(icon, "Test Program", null);
trayIcon.addActionListener(listener);
tray.add(trayIcon);
जब मैं इस कार्यक्रम हालांकि जाए तो क्या होता, कि एकल क्लिक (बाएं या दाएं) पर कोई असर नहीं है, लेकिन जब मैं डबल क्लिक करें, तो यह कंसोल में संदेश 'क्लिक पता' दिखाता है।
एकल क्लिक भी प्राप्त करने के लिए मैं क्या कर सकता हूं? क्या मुझे इसके लिए एक माउस लिस्टर का उपयोग करने की ज़रूरत है? (मैंने सुना है कि MouseListeners समस्याएं पैदा कर सकता है, और ActionListeners बेहतर हैं)
क्या मंच? विंडोज? लिनक्स? – Femi
@ फेमी विंडोज़ - –
केवल 30k up_votes ???, +1 – mKorbel