- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我对用于实现 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/
我对用于实现 addLayoutComponent() 的当前 API 的逻辑有点困惑. 有两种方法,一种采用字符串和组件,另一种采用对象和组件(但在运行时失败,除非该对象是字符串。) 不过,弃用的是
我需要创建一个自定义 LayoutManager 以供 JPanel 使用。 但是,当我将组件添加到 JPanel 时,JPanel 不会调用我的自定义 LayoutManager 的 addLayo
我是一名优秀的程序员,十分优秀!