【问题标题】:How to create a copy of a JTable with same model, color, font and listeners?如何创建具有相同模型、颜色、字体和侦听器的 JTable 副本?
【发布时间】:2021-12-29 23:54:34
【问题描述】:

我正在制作一个需要使用许多 JTable 的程序。所以我需要多次克隆一个 JTable。克隆是指具有相同模型、相同 columnModel、相同字体大小、相同颜色等的副本。

我找到了how to clone a jtable

但问题只是两者的文本相同。不是字体或颜色。

我也试过这个:-

JTable  t1 = new JTable(tm.getTable().getModel(), tm.getTable().getColumnModel());

但这也行不通。

我也试过了:-

JTable ti = tm;

但这会奏效。但问题是对tm 所做的更改也会发生在ti 上。

有没有办法克隆一个 jtable 及其所有属性?

【问题讨论】:

  • 重新思考您的软件设计。必须有最初在第一个表上初始化这些属性的代码。只需将该部分提取到一个可重用的方法中,您就可以为新的JTable 对象再次调用该方法。
  • @Holger 好的,先生。
  • 为什么任何 GUI 都需要相同表的多个副本(听起来像)?

标签: java swing jtable clone java-17


【解决方案1】:

这样做:

JTable  t1 = new JTable(tm.getTable().getModel(), tm.getTable().getColumnModel());

然后,获取第一个表具有的每个 相关 属性,并将其分配给您的第二个表。

例如:

t1.setFont(tm.getFont());
// And so on

您始终可以通过序列化深度克隆对象。查看this 文章了解更多信息。这可能有点矫枉过正,但这是由你决定的。

【讨论】:

  • 谢谢先生。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2014-10-01
  • 2012-07-27
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 2012-09-04
  • 2013-10-08
相关资源
最近更新 更多