【问题标题】:How to ensure that text is rendered to fit in tree?如何确保呈现文本以适合树?
【发布时间】:2013-10-07 12:23:28
【问题描述】:

JTree 似乎不会自动调整其节点大小以适应大小为20+ 的字体。我试过打电话给revalidate(),但这似乎没有帮助。节点中的文本垂直显示为“挤压”,因此字母的顶部和底部被剪裁。

如何使用大字体并确保它们通过JTree 正确显示?

【问题讨论】:

  • 试试treeGuy.setLargeModel(true);
  • 可能取决于 LAF:一些(如 win)设置固定的 rowHeight - 确保将其设置为 -1(或类似的,不太记得)以强制变量 rowHeight(它将查询渲染器的尺寸要求)
  • 这些 cmets 看起来很像答案...虽然 setLargeModel(true) 方法对 Mac OS X 没有任何影响...
  • @kleopatra:太好了!作为参考,API 表示“小于或等于零”。
  • @trashgod 感谢您的链接,会尽量记住:-)

标签: java swing jtree


【解决方案1】:

一些 LAF(例如 WindowsLookAndFeel)设置了一个相当随意的固定 rowHeight(例如 16px)。确保强制树动态计算每个节点的高度:

 tree.setRowHeight(-1);

或根据树的字体计算 rowHeight 并将其设置为固定高度。

【讨论】:

  • @Greg Mattes - 抱歉部分回滚,但代码标签用于内联代码,而不是用于突出显示关键字 :-) 感谢您纠正错字!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
  • 1970-01-01
  • 2012-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多