ustawianie koloru w JDialog

0

Napisalem klase w JDialog i dziala fajnie jedyny problem jest w tym ze nie moge ustawic koloru wokol przyciskow na taki jaki chce. Jesli ktos sie spotkal z podobnym problemem to prosze o pomoc.
Ponizej zalaczam kod klasy

import java.awt.;
import java.awt.event.
;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.*;
import javax.swing.border.Border;

class OpcjeMenu1 extends JDialog
{
private JOptionPane optionPane;
private JButton guzik;
private JCheckBox check1;
private JCheckBox check2;
private JCheckBox check3;

public OpcjeMenu1()//klient obsluga sie przesle
{
super();
setAlwaysOnTop(true);
	
guzik = new JButton("Lista ignorowanych");
Border padding = BorderFactory.createMatteBorder(15, 55, 15, 55, new Color(255,192,153));
guzik.setBorder(padding);
guzik.setBackground(new Color(255,192,153));

check1 = new JCheckBox("cos",true);
check1.setBackground(new Color(255,192,153));
check2 = new JCheckBox("cos1");
check2.setBackground(new Color(255,192,153));
check3 = new JCheckBox("cos2");
check3.setBackground(new Color(255,192,153));


Object[] options = {"OK", "Anuluj"};
JPanel panelik = new JPanel(new GridLayout(0, 1));
panelik.setBackground(new Color(255,192,153));
panelik.add(guzik);
//panelik.add(new JSeparator());
panelik.add(check1);
panelik.add(check2);
panelik.add(check3);
panelik.add(new JSeparator());

optionPane = new JOptionPane(panelik,JOptionPane.PLAIN_MESSAGE,JOptionPane.YES_NO_OPTION,null,options);	
setContentPane(optionPane);
optionPane.setBackground(new Color(255,192,153));
//optionPane.setForeground(new Color(255,192,153));
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent we) {   
        	setVisible(false);
    }
});	

optionPane.addPropertyChangeListener(new PropertyChangeListener(){
public void propertyChange(PropertyChangeEvent e){    		
        if (isVisible() && (e.getSource() == optionPane)){       	     
        	String value = optionPane.getValue().toString();   	             
            optionPane.setValue(JOptionPane.UNINITIALIZED_VALUE);

             if ("OK".equals(value)){   	            	
            	setVisible(false);   	            	
             }
             else{
            	setVisible(false);				
             }       	        
       }
 }        	
});    
setResizable(false);
setSize(330, 350);
setVisible(true);
}	 

}
public class OpcjeMenu{

public static void main(String [] args){
	OpcjeMenu1 om = new OpcjeMenu1();
}	

}

0

To może sam sobie odpowiem... należy dodac metode:

private void zmienKolorTla(Container optionPane, Color color)
{
Component[] c = optionPane.getComponents();
for(int i = 0; i < c.length; i++)
{
if(c[i] instanceof JPanel )
{
((JPanel)c[i]).setBackground(color);
}
if(c[i] instanceof Container)
{
zmienKolorTla((Container)c[i], color);
}
}
}

a oczywiscie w konstruktorze wywolac

zmienKolorTla(optionPane,new Color(111,111,111) );

1 użytkowników online, w tym zalogowanych: 0, gości: 1