【发布时间】:2011-05-29 12:22:36
【问题描述】:
我已将 JTable 列的大小设置为 200(使用 setPreferredWidth()),并将其中的 JTextField 的大小设置为 100(使用 setSize())。
不过,我看到我的文本字段延伸到列的整个 200 像素,忽略了我设置的大小。
我应该怎么做才能为我的列和文本字段设置不同的大小?
【问题讨论】:
-
这是编辑器(和渲染器)的工作方式。它们总是占据细胞的整个区域。为什么你希望这有什么不同?你想用其他 100 个像素做什么?听起来像一个奇怪的设计。发布您的实际需求而不是您的解决方案,也许有人可以提出更好的解决方案。
-
请不要在任何 Swing 组件上使用
setSize()、setMin/Pref/MaxSize(),以像素为单位的硬编码尺寸非常糟糕!尝试相信 Swing 会为您的组件计算可能的最佳尺寸(可能需要一些帮助,但不是作为硬编码像素提供)。
标签: java swing jtable jtextfield