2010-01-25 17 views
14

मैंने एक प्रोग्राम लिखा है जो गहराई से पहली खोज के साथ मैज हल करता है। मैं सोच रहा था कि इस जावा प्रोग्राम को स्क्रीनसेवर एप्लिकेशन में कैसे चालू करें? क्या स्क्रीनसेवर सामान्य रूप से सक्रिय होने पर विंडोज 7 मेरे ऐप को शुरू करने का कोई तरीका है?विंडोज स्क्रीनसेवर को विंडोज स्क्रीनसेवर में बदलें

+0

क्या मंच में विंडोज के लिए मिडलवेयर एक स्क्रीन सेवर बनाने के लिए है? विंडोज? मैक? linux? कमोडोर 64? –

+0

@ बाय्रॉन व्हिटलॉक: ओह क्षमा करें, उल्लेख करना भूल गया: विंडोज 7. मैंने अपना प्रश्न संपादित किया। – citronas

+0

क्या आपने कभी अपना जावा ऐप स्क्रीनसेवर में बनाया है? मैं वही काम करने की कोशिश कर रहा हूं, और यह सुनकर दिलचस्पी होगी कि यह आपके लिए कैसे चला गया। – LarsH

उत्तर

16

एक विंडोज स्क्रीन सेवर सिर्फ एक प्रोग्राम है जो कुछ command line arguments स्वीकार करता है। तो एक स्क्रीन सेवर के रूप में अपना प्रोग्राम चलाने योग्य होने के लिए आपको उन तर्कों को स्वीकार करने के लिए कोड करना होगा।

अगला आप शायद अपने स्क्रीन सेवर को पूर्ण स्क्रीन मोड में चलाने के लिए चाहते हैं। इससे पता चलता है नीचे दिए गए उदाहरण के रूप में जावा में करने के लिए बहुत सरल है:

public final class ScreenSaver { 

    public static final void main(final String[] args) throws Exception { 
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 

     final JFrame screenSaverFrame = new JFrame(); 
     screenSaverFrame.setDefaultCloseOperation(
      WindowConstants.EXIT_ON_CLOSE); 
     screenSaverFrame.setUndecorated(true); 
     screenSaverFrame.setResizable(false); 
     screenSaverFrame.add(new JLabel("This is a Java Screensaver!", 
           SwingConstants.CENTER), BorderLayout.CENTER); 
     screenSaverFrame.validate(); 
     GraphicsEnvironment.getLocalGraphicsEnvironment() 
        .getDefaultScreenDevice() 
        .setFullScreenWindow(screenSaverFrame); 
    } 
} 

अंत में आप एक Windows निष्पादन योग्य Launch4j की तरह कुछ का उपयोग करके अपने जावा प्रोग्राम बनाने के लिए और यह .scr विस्तार देने के लिए की आवश्यकता होगी।

+1

कुछ निश्चित आदेश स्वीकार करने से परे लगता है लाइन तर्क, इसे अपने स्वयं के फ्रेम के बजाय, एक पैरेंट विंडो में अपना पूर्वावलोकन दिखाने में सक्षम होना चाहिए, है ना? आप यह कैसे करते हैं? जेडीआईसी के बिना। साथ ही, सेटिंग्स मोड में, आप कहां स्टोर करते हैं (जारी रखें) सेटिंग्स? – LarsH

4

विंडोज स्क्रीनसेवर केवल exe फ़ाइलें हैं जो कुछ कमांड लाइन तर्क स्वीकार करते हैं, detailed here

यदि आप अपने जावा ऐप को एक्सई में संकलित कर सकते हैं (मैं जावा का अधिक उपयोग नहीं करता हूं तो मुझे यकीन नहीं है कि कौन से टूल्स मौजूद हैं), फिर इसे .scr पर पुनर्नामित करें, जो ऐसा करेगा। या यह बस की तरह एक .bat फ़ाइल बनाने के लिए पर्याप्त हो सकता है:

@echo off 
java myProg.class %1 

.. और .scr के लिए यह नाम बदलें।

7

मैंने कभी इसका उपयोग नहीं किया है, लेकिन यह शुरू करने का स्थान हो सकता है। Screen Saver API


स्क्रीनसेवर एसडीके के लिए लिंक पल में तोड़ा जा तो मैं सूचकांक पृष्ठ को लिंक कर रहा हूँ लगता है: JDIC। जब वे अपने लिंक को ठीक करते हैं तो मैं इसे समायोजित कर दूंगा।

+0

मैंने पढ़ा है कि जेडीआईसी मूल रूप से मर चुका है। – LarsH

+1

404 लिंक पर नहीं मिला। – Miles

1

मैं जावा में स्क्रीन सेवर बनाने के लिए SaverBeans एपीआई देखता हूं।

0

इस दृष्टिकोण के विकल्प में से एक नया जावाएफएक्स है। आप स्विंग में ऐसा करने के तरीके में फैंसी स्क्रीन सेवर बना सकते हैं। उस पर आप नेटबीन का उपयोग करके * .exe फ़ाइल को आसानी से प्राप्त करते हैं।

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