当前位置: 首页 > 知识库问答 >
问题:

如何替换Jtabbedpane中的现有选项卡

亢仰岳
2023-03-14

我有一个带有5个标签的JTabbedPane。我在每个选项卡上添加了一个JPanel,比如说5个JPanel,每个选项卡上有几个组件。如果我想根据一个标志变量动态更新选项卡内容,比如替换选项卡4上的内容,我需要用新的Jpanel替换现有的面板,如何在特定的选项卡上实现这种动态更新?

共有2个答案

上官高逸
2023-03-14

我和这个愚蠢的问题斗争了一天,才能够区分JTabbedPane的getComponentAt和getTabComponentAt方法。仅供参考,第一个获取选项卡的内容,后者获取选项卡的标题栏组件-。-我使用了这样的东西:

//create new content for tab
JPanel tabPanel = generateTab();
//assign new content to tab
tabbedPane.setComponentAt(index, tabPanel); 
弘志勇
2023-03-14

实现这一点有更多的可能性。

第一种可能是替换窗格的内容。假设您已经添加了要更新的窗格,如下所示:

 this.content = new JPanel();
 this.content.add(new JLabel("Content1"));
 myPane.addTab("Tab1", this.content);

然后,您可以更改选项卡的内容:

 this.content.removeAll();
 this.content.add(new JLabel("Content2"));
 this.content.revalidate();
 this.content.repaint();

第二种可能是完全删除标签,然后添加一个包含新内容的新标签。

 myPane.removeTabAt(index);
 myPane.addTab("New Tab", newContent);

一般来说,我更喜欢第一种可能性。

 类似资料:
  • 问题内容: 我想在JAVA中建立一个带标签的界面,每个标签上都带有关闭按钮。为此,我使用了以下类:ButtonTabComponent 我的GUI上有一个按钮,用于创建新标签。假设我四次按下“新建标签”按钮,因此创建了四个标签: | 标签0 | 标签1 | 标签2 | 标签3 | (每个选项卡都包含一个关闭按钮) 现在,我决定要关闭选项卡1并出现问题,当我关闭中间选项卡时,所有索引都重新排序-这意

  • 问题内容: 我对Java编程还是很陌生,我正在尝试使用以下代码来更新an的现有值: 我想打印而不是打印,但得到的结果仍然是。我要打印。我怎样才能做到这一点?谢谢。 问题答案: 使用该方法将旧值替换为新值。

  • 问题内容: 看起来新的AngularJS1.5组件概念中没有“替换”选项(就像用于指令一样)。 如果我想将 表格行 元素作为组件,您会提出什么建议?就有效的HTML而言,这是不可能的吗? 实际示例:mailBox组件内部具有邮件组件。通过标记,mail-box-component是table,而mail-box是tr。 UPD :有关指令的相关讨论-为什么AngularJS中不推荐使用replac

  • 本文向大家介绍java Swing实现选项卡功能(JTabbedPane)实例代码,包括了java Swing实现选项卡功能(JTabbedPane)实例代码的使用技巧和注意事项,需要的朋友参考一下  Swing实现选项卡功能(JTabbedPane) 先创建JTabbedPane对象,构造函数可使用JTabbedPane(int tabPlacement)。tabPlacement是JTabbe

  • 问题内容: 我有一个简单的Swing Java应用程序来执行搜索,结果显示在新选项卡中。搜索正在运行时,我想在选项卡的标题中显示进度图标或动画。我尝试添加gif图标,但它没有动画。有什么原因不起作用吗? 问题答案: 关于进度 条的Swing教程 (通常显示进度)是一个很好的起点。它显示了 如何使用来对工作线程执行持久操作 SwingWorker,并以一定的间隔更新UI以向用户显示 持久操作的进度。

  • 使用一个JTabbedPane,我想捕捉一个新选项卡的选择发生变化之前的瞬间,并执行一个操作。这类似于swing组件的焦点丢失事件。其目的是在选项卡更改时将几个JTextFields的文本保存到外部文件中,因此每次用户单击不同的选项卡时,当前选项卡的值都会写入外部文件。 我一直在使用ChangeListener来跟踪选项卡的更改,但还没有找到一种方法来完成我需要的操作。在下一个简单的例子中有什么想