mre*_*mre 10
@Atreys提供的答案就足够了,但有一种方法可以给猫皮肤涂抹.另一种选择是创建一个JLabel在其构造函数中扩展和分配边框的类.因此,根据您的请求,所有实例都具有相同的边框.这也将避免不得不笨拙地迭代Components 的集合,使用instanceof运算符,然后进行类型转换,这不是真正的OOP.
public final class BorderedJLabel extends JLabel{
public BorderedJLabel(){
// assign border
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想避免必须new BorderedJLabel()为每个新BorderedJLabel实例键入的详细程度,你可以仔细阅读静态工厂方法,因此
public final class BorderedJLabel extends JLabel{
private BorderedJLabel(){
// assign border
}
public static final BorderedJLabel newInstance(){
return new BorderedJLabel();
}
}
Run Code Online (Sandbox Code Playgroud)
有了这个设计,你就可以BorderedJLabel通过简单的输入更简洁地创建新的实例BorderedJLabel.newInstance().