java - 为多个 JLabel 分配边框

标签 java swing border jlabel

我有 10 个 JLabels,我希望它们具有相同的边框。这是一个可以手动管理的数字,但为了成长为一名程序员,我想知道是否有办法让这个变得更容易。

我尝试使用 foreach 循环,使标签所在面板的所有组件都为 true,然后使用方法 setBorder(...)。但这显然不起作用,因为对象被识别为组件而不是 JLabels。

如何自动将边框分配到 JLabel

最佳答案

@Atreys提供的答案就足够了,但是剥猫皮的方法不止一种。另一种选择是创建一个扩展 JLabel 的类并在其构造函数中分配边框。因此,根据您的要求,所有实例都将具有相同的边框。这还可以避免笨拙地迭代 Component 集合,使用 instanceof 运算符,然后进行类型转换,这不是真正的 OOP。

<小时/>
public final class BorderedJLabel extends JLabel{
    public BorderedJLabel(){
        // assign border
    }
}
<小时/>

附录:

如果您想避免为每个新 BorderedJLabel 实例键入 new BorderedJLabel() 的冗长,您可以仔细阅读静态工厂方法,如此

public final class BorderedJLabel extends JLabel{
    private BorderedJLabel(){
        // assign border
    }

    public static final BorderedJLabel newInstance(){
        return new BorderedJLabel();
    }
}

鉴于此设计,您只需键入 BorderedJLabel.newInstance() 即可更简洁地创建新的 BorderedJLabel 实例。

关于java - 为多个 JLabel 分配边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6941396/

相关文章:

Java 小程序未在浏览器中显示

c# - Winform 和 WPF 表单/窗口边框

java - STS 2.8.0 StartExplorer/旧版插件安装问题

java - 幻灯片动画循环 Android

Java - 将选项卡添加到 JTabbedPane 导致 StackOverflowError(禁用触发 ChangeEvent?)

java - Swing 操作 - 链接菜单和工具栏

CSS:导航栏中的溢出 Angular

html - 在可滚动的 HTML 框架上设置边框

java - 远程调试不起作用,显示错误 "Line number information is missing"

java - 如何在同一台显示器上打开一个帧并在 swing 中打开另一个帧?