2017-05-30 67 views
1

我使用此代码:的MotifBorders.ButtonBorder unkow默认参数Overrriding方法

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

我要重写satic内部类的paintBorder方法ButtonBorderMotifBorders(的MotifBorders另一个源)并使用它,但我保持方案颜色,我不知道什么颜色被使用最初由这个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 
    } 
}; 

回答

1

入住这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 
    } 
};