1

是否可以在 java 中动态加载 jtabedpane 中的选项卡。

这意味着我有一个包含一个标签窗格的框架..

因为我有 10 个选项卡,并且每个选项卡都包含另一个选项卡窗格,并且每个选项卡窗格有 4 个选项卡,每个选项卡都包含按钮和文本字段......

当我登录到我的项目时,下一帧需要更多时间才能看到......

之所以会发生这种情况,是因为我的框架中有更多选项卡窗格,因此需要花费大量时间才能看到..

我的问题是..

当我单击选项卡窗格中的选项卡时,是否可以动态加载选项卡内容.....

或者是否可以快速加载标签窗格......??????????

4

2 回答 2

1

加载选项卡窗格应该很快。必须花点时间的是选项卡中的内容。您可以使用最初构建 GUI 时创建选项卡的相同方式动态创建选项卡。我的猜测是内容是你真正的问题。根据具体情况,您可以在 EDT 以外的线程上加载一些项目,然后再返回。(查看 SwingWorker)。

于 2011-01-06T02:50:38.100 回答
1

您可以使用SwingUtilities.invokeLater在最初显示您的选项卡窗格后推动您的内部选项卡窗格的创建。

  1. 创建外部选项卡窗格
  2. 为外部窗格中的所有选项卡创建存根面板 - 这将为您的选项卡放置占位符,使用户看起来它们已经创建。
  3. 为第一个选项卡创建内容。
  4. 遍历选项卡 2 到n,创建Runnable设置选项卡内容的实例,包括它们的内部选项卡窗格。将这些Runnable实例用作SwingUtilities.invokeLater. 这会将这些操作放在 EDT 的末尾,因此它们将在当前操作完成后执行。
  5. 完成外部选项卡窗格的设置,将其添加到您的JFrame或其他容器中并将其设置为可见。
于 2011-01-06T03:03:11.503 回答