2011-12-19 15 views

उत्तर

9

हां। Graphics2D.rotate() पर देखें। जेएलएबल के लिए, मुझे लगता है कि आप rotate (x) को कॉल करने के लिए paintComponent() विधि को ओवरराइड कर सकते हैं, फिर मौजूदा paintComponent() को कॉल करें, फिर घुमाने (-x) को कॉल करें। जैसे

protected void paintComponent(Graphics g) { 
    Graphics2D g2 = (Graphics2D)g; 
    g2.rotate(theta); 
    super.paintComponent(g2); 
    g2.rotate(-theta); 
} 

मैंने यह कोशिश नहीं की है। आप को जोड़ने के लिए एक ऑफसेट, Graphics2D.rotate (डबल थीटा, डबल एक्स, डबल वाई)

+0

+1 देख आवश्यकता हो सकती है। बस कोशिश की और यह काम करता है। लेकिन यह उत्पत्ति के चारों ओर घूमता है, इसलिए एक अनुवाद की भी आवश्यकता होती है - यह मानते हुए कि पोस्टर पाठ के केंद्र के चारों ओर घूमना चाहता है। –

+0

इसका परीक्षण करने के लिए धन्यवाद! खुशी है यह काम करता है। – user949300

+0

+1 यह भी देखें [उदाहरण] (http://stackoverflow.com/a/6333584/230513)। – trashgod

2

मुझे विश्वास नहीं है कि स्विंग इसके लिए स्पष्ट समर्थन प्रदान करता है।
हालांकि, आप अपने टेक्स्ट को एक छवि में बदल सकते हैं, और AffineTransform क्लास का उपयोग करके उसे घुमा सकते हैं।

यहां कुछ example code है, जो पाठ को पीछे लिखने के लिए स्पष्ट रूप से "स्विंग हैक्स" पुस्तक से लिया गया है। पाठ को घूर्णन के लिए आप इसे आसानी से संशोधित कर सकते हैं, हालांकि आपको एनीमेशन प्रभाव के लिए कुछ कोड जोड़ना होगा।

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