2015-09-15 6 views
5

यदि मैं JGoodies WindowsLookAndFeel का उपयोग कर रहा हूं तो मैं जेबटन का रंग कैसे बदलूं? रंग बदलने के बाद बटन पर क्लिक होने पर कुछ दृश्य संकेत होना चाहिए; रंग ढाल और क्लिक एनीमेशन JGoodies के समान नहीं होना चाहिए।JGoodies में JButton का रंग बदलें WindowsLookAndFeel

import com.jgoodies.looks.windows.WindowsLookAndFeel; 
... 

public class Test { 
    public static void main(String[] args) throws UnsupportedLookAndFeelException { 
     UIManager.setLookAndFeel(new WindowsLookAndFeel()); 

     JFrame frame = new JFrame(); 
     frame.setSize(50, 100); 
     JButton button = new JButton("Button"); 
     button.setBackground(Color.GREEN); 
     button.setForeground(Color.RED); 
     button.setOpaque(true); 
     frame.add(button); 
     frame.setVisible(true); 
    } 
} 

enter image description here

मैं बटन के पूरे क्षेत्र के लिए न सिर्फ रंग सेट करना चाहते हैं:

setBackground() और setForeground() का उपयोग केवल बटन रूपरेखा का रंग और बटन पाठ में परिवर्तन रूपरेखा। (ऐसा होता है यदि WindowsLookAndFeel का उपयोग नहीं किया जाता है।)

मैंने com.jgoodies.looks.windows.WindowsBorders#getButtonBorder() में रंग बदलने की भी कोशिश की है, लेकिन ऐसा कोई प्रभाव नहीं प्रतीत होता है।

+0

क्या विंडोज़ संस्करण उपयोग करते हैं? – Vovka

+0

मैं विंडोज 8 –

उत्तर

1

कोशिश setContentAreaFilled को जोड़ने कॉल:

button.setContentAreaFilled(false); //must be before setOpaque 
button.setOpaque(true); 

या आप JButton और पेंट ओवरराइड कर सकते हैं: Change JButton gradient color, but only for one button, not all

+0

का उपयोग कर रहा हूं जो कि मैं चाहता हूं कि यह बहुत करीब है (रंग सही ढंग से दिखाया गया है) लेकिन मुझे 'विंडोज लुक एंडफेल' का उपयोग करते समय क्लिक का कोई दृश्य संकेत नहीं मिलता है (मैं डिफ़ॉल्ट रूप और अनुभव का उपयोग करते समय करता हूं)। –

+0

ने बक्षीस का पुरस्कार दिया क्योंकि मैंने ब्याज शुरू करने के बाद तक दृश्य संकेत शर्तों को नहीं जोड़ा। –

+0

श्री, अब अनुसंधान और परीक्षण के लिए कोई समय नहीं है। यहां कुछ शुरुआती बिंदु: 0) http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4880747; 1) आपको अपना बटन बनाएं http://stackoverflow.com/questions/5751311/creating-a-custom-button-in-java-with-jbutton/5755124#5755124; 2) http://stackoverflow.com/questions/15043218/jbutton-background-images?rq=1; 3) पृष्ठभूमि के रूप में छवियों का उपयोग करें http://stackoverflow.com/a/11931487/5379032 4) विंडोजएक्सपी - आपका कोड सही तरीके से काम करता है, कोई समस्या नहीं। विन 8 - समस्या। Win7 परीक्षण नहीं किया गया। – Vovka

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