【发布时间】:2018-10-04 00:48:06
【问题描述】:
谁能告诉我下面列出的 API 的替换
SunToolkit.getContainingWindow
SwingUtilities2.getFontMetrics
SwingUtilities2.stringWidth
SwingUtilities2.drawString
SwingUtilities2.clipStringIfNecessary
SwingUtilities2.setLeadAnchorWithoutSelection
DefaultLookup.getIcon
以及下面列出的类
sun.font.FontUtilities
com.sun.java.swing.plaf.motif.MotifComboBoxUI
com.sun.java.swing.plaf.windows.WindowsComboBoxUI
com.sun.java.swing.plaf.motif.MotifScrollBarUI
com.sun.java.swing.plaf.windows.WindowsScrollBarUI
com.sun.swing.internal.plaf.metal.resources.metal_it
【问题讨论】:
-
getFontMetrics,stringWidth,drawString在技术上可以通过Graphics或Graphics2D完成 -
DefaultLookup.getIcon- 你看过UIManager吗? -
你为什么认为为了你的缘故必须有一个替代品?你一开始就不应该使用这些方法。
-
@MadProgrammer 确实,这些方法已经存在了二十年了,但是当我们可以使用实现内部方法不必要地包装调用时,为什么要使用官方 API 的这些方法呢?
-
@Holger 因为在某个时间点,不管人们怎么想,那些“内部”API 可以而且将会改变——最好听取那些记录了它们“不推荐”使用或“用于仅供内部使用”
标签: java swing graphics migration java-11