gpt4 book ai didi

java - 卡片布局 addLayoutComponent() API

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:36:41 24 4
gpt4 key购买 nike

我对用于实现 addLayoutComponent() 的当前 API 的逻辑有点困惑.

有两种方法,一种采用字符串和组件,另一种采用对象和组件(但在运行时失败,除非该对象是字符串。)

不过,弃用的是取字符串的,而不是取对象的。在我看来,这是错误的解决方法 - 为什么不保留采用字符串的类型安全方法并弃用另一个?

接下来,在这种情况下,使用已弃用的方法并在类型安全保证附带时抑制警告是否更好?

最佳答案

我认为这是由于向后兼容性和 LayoutManager2 引入的新方法。

最初,组件的所有约束都被编码为字符串、"CENTER""EAST" 等。对于 CardLayout,使用这些字符串作为名称是有意义的,例如 "SETTINGS_CARD""MAIN_CARD" 等。

出现了 LayoutManager2,它是 LayoutManager 的返工。在第二个版本中,他们意识到他们也想允许其他类型的约束,例如 GridBagConstraints 等。

所以,CardLayout 所做的是,它说,“好的,很好,我会使用这些新奇的方法,但我仍然会依赖字符串,因为我不不需要其他任何东西”

由于 String 版本变得多余,他们选择弃用它。 (至少这是我的猜测。)

And following on from this, is it better to, in this case, use the deprecated method and suppress the warning when it comes with the type safe guarantee?

在我看来,使用已弃用的方法等于说 “我比 Sun/Oracle API 架构师更了解。”。换句话说,我会远离弃用的方法。 (此外,其他程序员会想知道为什么您的代码中有一个@SupressWarning。)

关于java - 卡片布局 addLayoutComponent() API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7160172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com