2017-05-30 9 views
1

Je le code suivant:méthode Overrriding des paramètres par défaut de MotifBorders.ButtonBorder

UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); 

Je souhaite remplacer la méthode paintBorder de classe interne SATIC ButtonBorder de MotifBorders (une autre source de MotifBorders) et l'utilise, mais je garde des couleurs de schémas, et je ne sais pas quelles couleurs ont été utilisées à l'origine par ce LAF (LookAndFeel).

JButton jb = new JButton(someIcon); 
BorderUIResource.CompoundBorderUIResource bc = 
    (BorderUIResource.CompoundBorderUIResource)jb.getBorder(); 

MotifBorders.ButtonBorder oldMotifBB = 
    (MotifBorders.ButtonBorder)bc.getOutsideBorder(); 

MotifBorders.ButtonBorder newMotifBB = new MotifBorders.ButtonBorder(
    shadow, 
    highlight, 
    WHAT_ARGUMENT?, /*darkShadow (Originally No defined)*/ 
    focus) { 
    @Override public void paintBorder(
     Component c, Graphics g, int x, int y, int w, int h) { 
     //Changes Code 
    } 
}; 

Répondre

1

Cocher cette site

MotifBorders.ButtonBorder newMotifBB = new MotifBorders.ButtonBorder(
    UIManager.getColor("Button.shadow"),  /*shadow*/ 
    UIManager.getColor("Button.highlight"),   /*highlight*/ 
    UIManager.getColor("Button.darkShadow"), /*darkShadow (Originally No defined)*/ 
    UIManager.getColor("activeCaptionBorder") /*focus*/) { 
    @Override public void paintBorder(
     Component c, Graphics g, int x, int y, int w, int h) { 
     //Changes Code 
    } 
};