2

默认情况下我有一个标签(tab1) 新标签已生成,等于“房间数”。动态生成的选项卡与默认选项卡具有相同的结构。我不知道新生成的选项卡的文本字段的名称。如何在运行时找到在选项卡上生成的 jtexfields 的名称,以便我可以使用 .getText()

除非我有 10 个代表,否则我无法使用图像来解释我的问题。所以我从 Daniweb 发布链接我不确定这是否允许。

对不起,我忘了添加代码

   int no_room = Integer.parseInt(jTextField6.getText());
   for(int i = 1 ; i<no_room; i++)
   {
   int c = jTabbedPane5.getTabCount();
   jTabbedPane5.addTab("tab "+(i+1), jTabbedPane5.getTabComponentAt(c-1));
   jTabbedPane5.validate();
   jTabbedPane5.repaint();
   }

编辑 2:更多细节

我正在构建一个桌面应用程序“生成器应用程序”。

在那里,我问客户他想要在他的房子里有多少个房间。
他说,比如3个房间。
现在在运行时,我生成 3 个选项卡(使用上面的代码)来输入每个房间的详细信息。
每个新生成的选项卡都是我的“默认选项卡”的精确副本。
选项卡由四个文本字段组成,现在和许多其他业余爱好者一样,我不知道如何从这些动态生成的文本字段中检索值。
所以在这里我请求你帮助我,告诉我如何在我不知道它们的名字的情况下将 .getText() 方法与这些动态生成的文本字段一起使用。

我见过类似的问题,但没有一个使用过标签。

http://static.daniweb.com/images/attachments/3/ebbc1e39377be620031e5fe5d93f7940.jpg http://static.daniweb.com/images/attachments/3/9577a07941c9116964dcb07c32a702c4.jpg http://static.daniweb.com/images/附件/3/97e62dfd97cb0230dad2e2df9783b935.jpg

4

1 回答 1

1

从动态生成的 jTabbedPane 中获取值

我认为解决问题的一种方法是不要考虑将新选项卡添加到 JTabbedPane,而是考虑创建新对象并将其添加到程序中。请考虑以下建议:

  • 创建一个创建 JPanel 的类,该 JPanel 由 JTabbedPane 的每个选项卡保存和显示。出于讨论的目的,让我们调用类 RoomDetailPanel
  • 当您创建一个新选项卡时,这样做,然后给它一个新的 RoomDetailPanel 对象来显示。
  • 创建一个包含 JTabbedPane 并负责创建选项卡和 RoomDetailPanel 对象的类。出于讨论目的,我们将其称为 ClientDetailPanel。
  • 给 ClientDetailPanel 一个 RoomDetailPanel 的集合,也许是一个ArrayList<RoomDetailPanel>.
  • 每当创建新选项卡和 RoomDetailPanel 对象时,将 RoomDetailPanel 对象添加到上述 ArrayList。
  • 当您想要提取用户输入的所有信息时,请使用 for 循环遍历 ArrayList,查询每个 RoomDetailPanel 对象以获取它包含的信息。

天哪,为了尽可能清楚地解释我的问题,我什至发布了图片。

我们很沮丧,因为即使有您的代码片段和图片,我们仍然无法准确判断您可能会卡在哪里。这就是为什么我们不断要求更多信息和澄清,这就是为什么我可以给你一般的整体建议,但不能给你具体的代码建议。将来,请考虑创建和发布sscce,让我们更好地理解和理解您的问题。


编辑

我想知道 JTable 是否会带来更简洁的界面?

于 2013-06-16T12:30:57.057 回答