2015-09-15 21 views
5

JGoodies WindowsLookAndFeel kullanıyorsam JButton rengini nasıl değiştirebilirim? Rengi değiştirdikten sonra, düğmenin tıklandığında hala bazı görsel belirtilere sahip olması gerekir; renk gradyanı ve tıklama animasyonu JGoodies ile aynı olmak zorunda değildir.JGoodies içinde bir JButton rengini değiştirme 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

Ben düğmeye bütün bölgenin sadece rengini ayarlamak istiyorum: setBackground() ve setForeground() kullanma

sadece düğme anahat rengini ve düğme metnini değiştirir anahat. (Bu, WindowsLookAndFeel kullanılmadığında oluşur.)

Ayrıca renkleri com.jgoodies.looks.windows.WindowsBorders#getButtonBorder() olarak değiştirmeyi denedim, ancak bunun herhangi bir etkisi yok gibi görünüyor. setContentAreaFilled için

+0

hangi windows versiyonu kullanıyorsunuz? – Vovka

+0

Windows 8 kullanıyorum –

cevap

1

deneyin ekleyerek çağrı:

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

veya JButton ve boya geçersiz kılabilirsiniz: Change JButton gradient color, but only for one button, not all

+0

İstediğim şeye oldukça yakın (renk doğru bir şekilde gösteriliyor) ama 'WindowsLookAndFeel' kullanırken (görsel görünüm ve izlenimi kullanırken yaptığım gibi) görsel bir görünüme sahip değilim. –

+0

Ödül almaya başladığıma kadar görsel gösterim şartlarını eklemediğimden beri ödül verdim. –

+0

Sry, şimdi araştırma ve test için vaktiniz yok. İşte bazı başlangıç ​​noktaları: 0) http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4880747; 1) kendi ButtonUI'nizi oluşturun 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) görüntüleri arka plan olarak kullanma http://stackoverflow.com/a/11931487/5379032 4) WindowsXP - kodunuz düzgün çalışıyor, sorun değil. Win8 - problem. Win7 test edilmedi. – Vovka