java中jtabbedpane的问题

时间:2011-01-06 02:43:19

标签: java swing jtabbedpane

是否可以在java中以jtabedpane dyanamically加载选项卡。

这意味着我的框架上有一个tabbedpane ..

因为我有10个标签,并且在每个标签中另一个tabbedpane的标签,每个tabbedpane有4个标签,每个标签包含按钮和文本字段......

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

这就是为什么会发生这种情况,因为我的框架中有更多的tabbedpane,因此需要花费很多时间才能看到它。

我的问题是......

当我点击tabbedpane中的标签时,是否可以动态加载标签内容.....

或者是否可以快速加载tabbedpanes ...... ?????????

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您可以使用SwingUtilities.invokeLater推动在最初显示标签窗格后创建内部标签窗格。

  1. 创建外部标签窗格
  2. 为外部窗格中的所有选项卡创建存根面板 - 这将为您的选项卡添加占位符,使用户看起来已经创建了它们。
  3. 为第一个标签创建内容。
  4. 将标签2重复到 n ,创建设置标签内容的Runnable个实例,包括其内部标签窗格。将这些Runnable实例用作SwingUtilities.invokeLater的参数。这将把这些行动放在EDT结束时,因此它们将在当前行动完成后执行。
  5. 完成外部标签窗格的设置,将其添加到JFrame或其他容器并将其设置为可见。