आपको इसके लिए अपना स्वयं का घटक बनाना चाहिए।
अवहेलना एक JPanel पर paintComponent विधि, और paintComponent विधि ड्रा के अंदर (यानी भरने) रंग ग्रे में एक गोल rectangle2D:।
RoundRectangle2D roundedRectangle = new RoundRectangle2D.Float(x, y, w, h, 10, 10);
g.fill(roundedRectangle);
(पिछले दो मूल्यों वक्रता निर्धारित खेलते हैं चारों ओर
जब तक आप आप क्या चाहते हैं) मिलता है अब के लिए कदम एक्स, वाई और चौड़ाई और ऊंचाई कम करता है ताकि जब आप ne आकर्षित xt आयताकार, यह ग्रे आयताकार के अंदर बैठता है। ग्राफिक्स रंग को नीले रंग में सेट करें, फिर कुछ ऐसा करें:
RoundRectangle2D roundedRectangle2 = new RoundRectangle2D.Float(x + 5, y + 5, w - 10, h - 10, 10, 10);
g.fill(roundedRectangle2);
आपको टेक्स्ट जोड़ने की भी आवश्यकता होगी। टेक्स्ट जोड़ने के लिए एक एक्स और वाई स्थिति की आवश्यकता होती है। सटीक एक्स और वाई स्थिति गणना करने के लिए मुश्किल हो सकती है, इसलिए स्ट्रिंग के आयताकार आकार के बारे में कुछ और जानकारी प्राप्त करने के लिए आपको FontMetrics का उपयोग करने की आवश्यकता हो सकती है। फ़ॉन्टमेट्रिक्स में स्ट्रिंगविड्थ() और getHeight() जैसी विधियां हैं जो आपको यह निर्धारित करने में सहायता करेंगी कि आपका एक्स और वाई क्या होना चाहिए।
g.drawString("Click Me", x, y);
अंत में आपको अपने पैनल पर माउस गति श्रोता होना चाहिए। जब श्रोता बटन पर होता है तो श्रोता को खोजने की आवश्यकता होती है और फिर घटक को फिर से चलाया जाता है।
आपका आयताकार shape ऑब्जेक्ट पर डाला जा सकता है, और यह गणना की जा सकती है कि माउस आकार में है या नहीं। उदाहरण के लिए:
shape.contains(x,y)
अगर यह होता है, रंग, रीपेंट() या updateUI() पैनल पर बदल तो कहते हैं।
नोट: आपके रंग ऑब्जेक्ट कक्षा में कक्षा स्तर के क्षेत्र के रूप में रखा जाना चाहिए, ताकि इसे माउसओवर के माध्यम से बदला जा सके।
आशा है कि इससे मदद मिलती है!
http://java-swing-tips.blogspot.com/2008/11/rounded-corner-jbutton.html –
'पहले, मैं वेब Developer' हूँ - गरीब शोध के साथ पहले, पता नहीं कौन upvoted इस सवाल के लिए, किसी भी ग्राफिक्स, बस सीमाओं और बटन मॉडेल – mKorbel
से घटनाओं को ओवरराइड करने की आवश्यकता नहीं है ... किसने इसे ऊपर उठाया? : डी क्या आपको यकीन है कि [यहां आपके लिए कुछ भी नहीं है ??] (http://stackoverflow.com/search?q=round+jbutton) याद रखें कि StackOverflow आपके लिए अपना काम करने के लिए एक जगह नहीं है। कृपया अब तक की कोशिश की गई है और आप कहां फंस गए हैं, इसकी एक रूपरेखा प्रदान करें। यह भी तर्क देने का प्रयास करें कि आप जेबटन का विस्तार क्यों करना चाहते हैं और धक्का नहीं देना चाहते हैं, – avalancha