2010-07-01 5 views
17

पर जावा स्विंग एप्लिकेशन नाम सेट करना मैं जावा 1.6 का उपयोग कर मैक के लिए जावा स्विंग एप्लिकेशन लिख रहा हूं। मैंने कई ट्यूटोरियल पढ़े हैं जो आपको ओएस एक्स के साथ अपने जावा एप्लिकेशन को बेहतर तरीके से एकीकृत करने के तरीके के माध्यम से कदम उठाते हैं, लेकिन एक बात है कि मैं काम नहीं कर पा रहा हूं। मुझे प्रदर्शित करने के लिए एप्लिकेशन का नाम (मैक मेनू बार में पहला, बोल्ड मेनू आइटम) नहीं मिल सकता है। डिफ़ॉल्ट रूप से, मुख्य वर्ग का पूर्ण-योग्य वर्ग नाम दिखाया गया है और मैं इसे बदलने के लिए नहीं मिल सकता।मैक

This site कहते हैं निम्नलिखित गुण सेट करने के लिए है कि आप: (? मैं 10.6 चल रहा हूँ, इसलिए हो सकता है संपत्ति नाम बदल)

System.setProperty("com.apple.mrj.application.apple.menu.about.name", "AppName"); 

लेकिन वह काम नहीं करता।

जब मैं एक्सकोड (मैं आमतौर पर ग्रहण का उपयोग करता हूं) में एक नई जावा प्रोजेक्ट बनाता हूं, तो नाम किसी भी तरह जादुई रूप से सेट हो जाता है! (यह आपको एक रननेबल, बॉयलर-प्लेट एप्लिकेशन के साथ शुरू करता है) मैंने एक्सकोड प्रोजेक्ट के चारों तरफ देखा है कि यह कैसे किया जाता है, लेकिन मैं इसे समझ नहीं सकता!

मेरा अनुमान है कि यदि आप अपने जावा एप्लिकेशन को मैक * .app पैकेज में लपेटते हैं तो यह केवल एप्लिकेशन नाम सेट करता है, लेकिन सोच रहा था कि अगर कोई जवाब जानता है। धन्यवाद।

संपादित: दिलचस्प है, यह आवेदन नाम अगर मैं एक runnable जार फ़ाइल में अपने आवेदन पैकेज है, लेकिन अगर मैं इसे ग्रहण से नहीं चला करता है।

+0

कि संपत्ति 10.5 – akf

+0

में मेरे लिए काम करती है क्या आप जावा 1.5 चला रहे हैं? ऐसा लगता है कि केवल उस संस्करण में काम करता है .. – Michael

उत्तर

29

आप से पहले जीयूआई बनाया गया है, एप्लिकेशन आरंभीकरण के दौरान निम्न करना चाहिए:

// take the menu bar off the jframe 
System.setProperty("apple.laf.useScreenMenuBar", "true"); 

// set the name of the application menu item 
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "AppName"); 

// set the look and feel 
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 

अद्यतन। से ऊपर कोड जावा 1.5 में काम करता है, इस कोड को 1.6

नया जावा के लिए में काम कर सकते हैं नहीं documentation देखें:

  1. या तो -Xdock:name कमांड लाइन संपत्ति का उपयोग करें: - Xdock:name=YourAppName
  2. या जानकारी संपत्ति में CFBundleName सेट सूची फ़ाइल (plist)
+1

हां, मैं 'UIManager.setLookAndFeel()' को कॉल करने से पहले और मेरी जीयूआई प्रदर्शित करने से पहले संपत्ति सेट कर रहा हूं। मैं जावा 1.6 चला रहा हूं, तो मुझे लगता है कि संपत्ति उस संस्करण के साथ काम नहीं करती है? * एक 'एक्सडॉक जोड़ना: नाम = ऐपनाम' वीएम तर्क काम *, धन्यवाद। संस्करण समस्या समाधान के लिए – Michael

+0

+1! धन्यवाद! – 11684

+0

@uthark कृपया एक पूर्ण उदाहरण के साथ उत्तर (बुलेट 1) में सुधार करें, जैसे- एक्सडॉक: नाम = "मेरा ऐप नाम" - यह developer.apple.com पृष्ठ को पढ़ने के बिना स्पष्ट नहीं है। धन्यवाद। – djb

6

मैक 10.7.5 पर, प्रोग्राम 1.6% के साथ काम कर रहे प्रोजेक्ट को व्यवस्थित रूप से सेट करना, लेकिन जावा के साथ नहीं 1.7

+0

मुझे पता है कि यह एक उत्तर से अधिक टिप्पणी है लेकिन मूल प्रश्न पर टिप्पणियां जोड़ने के लिए नहीं जानते (या पर्याप्त विशेषाधिकार नहीं है)। – PeterVermont