 <blockquote> <p>It should be a tab with the content "Testing", but the tab is empty.</p> </blockquote> <p>What you are seeing is not that the tab is empty, but instead no tab is selected. Since you removed all existing tabs, no remaining tab can keep the selection. So when the underlying collection is changed again to add another tab, that tab does not get selected automatically. If you click on the tab though to select it, the content is still there. You can actually see this by the way the tab header looks when it’s not selected.</p> <p>Further note, that all your <code>Tabs</code> instances share the single <code>TestText</code> list you created in your <code>MainWindow</code>. So when you change the content in <em>any</em> tab, you are automatically changing the content in all tabs that exist, or will exist in the future, since all instances always get the same ObservableList instance passed.</p>