2012-04-04 10 views
6

पर जेएफआरएएम पारदर्शी ब्रेक स्क्रॉलिंग बनाना मेरे पास एक पारदर्शी अवांछित JFrame है जिसे मैंने AWTUtilities.setWindowOpaque(this, false) का उपयोग करके सेट किया है। JFrame पर, मेरे पास स्क्रॉलपैन है; यह विंडोज पर पूरी तरह से काम करता है। मैक पर, पूरे JFrame खींचने योग्य है; इसलिए जब मैं स्क्रॉलबार पर माउस को क्लिक करके और दबाकर स्क्रॉलपैन से स्क्रॉल करने का प्रयास करता हूं, तो संपूर्ण फ्रेम स्क्रॉलबार अंगूठे के बजाय चलता है। मैंने setWindowOpaque() के बजाय setBackground(new Color(0,0,0,0)) का उपयोग करने का भी प्रयास किया, लेकिन यह एक ही समस्या है। कोई राय कि इसे कैसे ठीक किया जाए?मैक

+0

आपका जेआरई संस्करण क्या है, क्या यह 1.7 है? –

+0

1.6.0_29 और ओएसएक्स शेर 10.7.3 – user1309036

+0

आप पृष्ठभूमि को लगभग पारदर्शी पर सेट करने का प्रयास कर सकते हैं, उदा। रंग (0,0,0,10) या तो (सटीक दहलीज के निश्चित नहीं)। – technomage

उत्तर

1

this similar thread में सुझाव के रूप में, कोशिश:

getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE); 

आप इस का उपयोग करने के लिए चुनते हैं, स्क्रॉलबार प्रयोग करने योग्य हो जाएगा और खिड़की खींचें नहीं होंगे। हालांकि, आप एक अस्थिर खिड़की से फंस सकते हैं, जब तक कि आप MouseMotionListener जोड़ते हैं और जैसे कॉल का उपयोग करके mouseDragged() विधि में विंडो को चारों ओर ले जाएं।

इसके बजाय, आप स्क्रॉलबार के तीर बटन पर क्लिक करने के बजाय उपयोगकर्ता को स्क्रॉलबार के तीर बटन पर क्लिक करने के लिए बाध्य करने में सक्षम हो सकते हैं ... लेकिन यह अब तक का सबसे उपयोगकर्ता-अनुकूल विचार नहीं है।