2009-01-13 14 views
5

मैं विंडोज एक्सपी पर जावा में एक KIOSK सिस्टम पर काम कर रहा हूं। और एक स्क्रीन कुंजी बोर्ड पर करने की जरूरत है। मुझे इसके बारे में कोई जानकारी नहीं है कि कैसे करना है। तो क्या आप लोग ऐसा करने में मेरी मदद कर सकते हैं। किसी के बारे में इसके बारे में कुछ विचार है। धन्यवादस्विंग ऑन-स्क्रीन कीबोर्ड

+0

क्या ऑपरेटिंग सिस्टम? – Stormenet

+0

कृपया अपने प्रश्न में कोई अतिरिक्त जानकारी प्रदान करें। प्रत्येक उपयोगकर्ता टिप्पणियां – guerda

उत्तर

4

मैंने अपनी कंपनी के लिए एसडब्ल्यूटी और एडब्ल्यूटी में ओएसके लागू किया।

हम एक INI फ़ाइल उपयोग कर रहे थे आप कुंजी बोर्ड लेआउट (आकार, फ़ॉन्ट, कैसे एक कीबोर्ड लाइन की तरह दिखता है, कुंजी लेबल और महत्वपूर्ण कार्य)

सबसे पहले आप कुंजीपटल पढ़ने उत्पन्न करनी चाहिए परिभाषित कर सकते हैं OSK लेआउट प्रारंभ इन आईएनआई फ़ाइल। यह बहुत तेज़ किया जाता है। आपको बनाए गए बटनों और शीर्ष विंडो पर फ़ोकस सक्षम करना चाहिए। अन्यथा जो घटक महत्वपूर्ण क्रियाएं प्राप्त कर रहा है वह हर समय ध्यान खो रहा है।

दूसरा चरण इवेंट प्रेषक प्रबंधक को कार्यान्वित करना है। आपको सभी सुनवाई घटना वस्तुओं के लिए ओएसके कुंजी घटनाएं भेजनी होंगी। आप Robot का उपयोग करके एक ईवेंट भेज सकते हैं या FocusManager के साथ केंद्रित घटक प्राप्त कर सकते हैं और इसे सीधे सेट कर सकते हैं।

एसडब्ल्यूटी के लिए यह बहुत अच्छा काम करता है, लेकिन एडब्ल्यूटी में उनके कुछ थ्रेडिंग और फोकस मुद्दे हैं।

-1

यह जावा/स्विंग में लॉक कियोस्क मोड में जाने के लिए खोज में दिखाया गया है ... - और मुझे यह जानने के लिए कुछ समय लगा कि यह कैसे करना है, इसलिए यहां किसी के लिए यह समाप्त हो रहा है मैंने किया:

public class FullScreen extends JWindow { 

    public FullScreen() 
    { 

     getContentPane().add(new JLabel("A JFrame Kiosk"), BorderLayout.NORTH); 

     JButton closeButton = new JButton("Close"); 

     closeButton.addActionListener(new ActionListener() 
      { 
       public void actionPerformed(ActionEvent ae) 
       { 
        System.out.println("Close button Pressed"); 
        FullScreen.this.setVisible(false); 
        System.exit(0); 
       } 
      }); 
     getContentPane().add(closeButton, BorderLayout.CENTER); 
    } 

    public static void main(String[] args) throws Exception { 

     SwingUtilities.invokeLater(new Runnable() { 
      public void run() {  
       GraphicsEnvironment. 
        getLocalGraphicsEnvironment(). 
         getDefaultScreenDevice(). 
          setFullScreenWindow(new FullScreen()); 
       } 
     }); 
    } 
} 
+0

नहीं पढ़ सकता है शायद यह सिर्फ मुझे है, लेकिन यह – johnc

+0

समस्या का समाधान नहीं करता है, मैं सहमत हूं, यह एक अलग प्रश्न के लिए है। यद्यपि सूचना की सराहना की जाती है, फिर भी आप एक नया प्रश्न बनाने और इसे स्वयं जवाब देने से बेहतर होंगे ताकि लोग उचित रूप से इसकी खोज कर सकें। –

संबंधित मुद्दे