【问题标题】:Button and Textbox alignment in a jtable celljtable单元格中的按钮和文本框对齐
【发布时间】:2023-04-02 23:25:01
【问题描述】:

我有一个表格,在某些单元格中同时包含按钮和文本框。现在我可以将这两个组件都放在表格单元格中。感谢OscarRyz's 代码。现在我的问题是我必须对齐这些组件,以便按钮位于单元格的最右侧,并且文本框应该从单元格的最左侧开始到按钮的开头。 (简单来说,它们应该彼此相邻并占据整个单元格。)如何在单元格内对齐它们?

目前看起来是这样的,

但我正在寻找的是这样的视图,

我查看了Component Border 代码,但不知道如何将其用于表格。

任何帮助将不胜感激。

【问题讨论】:

    标签: java swing jtable layout-manager tablecellrenderer


    【解决方案1】:

    一个 JPanelBorderLayout 应该可以做到这一点。

    并且以供将来参考:如果您正在寻找 LayoutManager,请为 Visual guide to layout managers 添加书签

    【讨论】:

    • 你的意思是说我应该将 jpanel 添加到表格单元格中,然后将这两个组件添加到该面板中。
    • 我的意思是,如果渲染器将返回一个如上所述的面板,您将获得所需的结果。
    • 谢谢 Robin .. 你让我知道表格单元格不仅用于数据,还用于面板,或者可能是我们想要插入的内容 .. :)
    • @Che ClassCastException 来自 myEditor.setCompValues((MyComponents)value);。该方法中传递的值是您的 TableModel 中包含的值
    • 但是我的表格模型包含许多列,我只需要为一列设置按钮和文本框,其余列的数据和往常一样。所以我只对那一列使用这个渲染。这是错误的做法吗?或者我应该传递整行数据并使用这个渲染类来填充行数据。如果我错了,请解释。
    【解决方案2】:
    • JPanel 已经实现了 FlowLayout 然后相当接受 PreferredSize 来自它的孩子,

    • 请注意,一切都取决于您的 TableCellRendererTableCellEditor

    • my view, my example

    【讨论】:

    • 谢谢。我会尝试。看起来它会解决我的问题.. :)
    • 不要忘记在 JPanel 中添加 EmtyBorders,也可以在 Editor 和 Renderer 中添加
    • 我已经用代码更新了我的帖子。我得到一个类转换异常。请看一下,你能告诉我我哪里错了。
    • 我只想问一件事.. 你写的例子是针对整个表格的行。但我所做的只是一栏。这是我正在做的正确方式还是我应该像你所做的那样使用整行的渲染。
    猜你喜欢
    • 2014-02-12
    • 2013-12-19
    • 2011-01-25
    • 2014-01-10
    • 2013-10-03
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    相关资源
    最近更新 更多