【问题标题】:Check Layout of JPanel检查 JPanel 的布局
【发布时间】:2020-06-17 19:56:18
【问题描述】:

我有以下代码:

JPanel panel = new JPanel(new GridBagLayout());

我想检查一下,我的面板是否分配了GridBagLayout。 我让它像这样工作:

if(panel.getLayout().getClass() == GridBagLayout.class) {
   // seems to work
}

虽然它有效,但它有点 hacky,因为我不想为此使用反射。

还有其他方法可以检查分配的布局吗?

【问题讨论】:

    标签: java swing layout awt


    【解决方案1】:

    使用instanceof声明卢克

    if(panel.getLayout() instanceof GridBagLayout) {
        // seems to work
    }
    

    【讨论】:

    • 完全正确,我自己才注意到这一点。谢谢:)
    • @MoritzSchmidt 一点提示:如果您检查我的回答是否有帮助,您将获得 2 点声望。 ;)
    • 这就是我一直在做的事情,但是在提出问题后您必须等待几分钟才能将答案标记为正确:)
    • 请注意,对于GridBagLayout 的子类,这也将返回true,这不是问题代码的情况(IMO 这个答案是更好/正确的方法,只是一些读者的注释,将其用于其他用途,最终类必须完全匹配)
    猜你喜欢
    • 1970-01-01
    • 2012-08-01
    • 2016-07-31
    • 2014-04-30
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多