From c2e37929da8c3cb08c7bf8b0032e271c83e3daa3 Mon Sep 17 00:00:00 2001 From: Fabian Becker Date: Wed, 12 Dec 2012 14:41:47 +0000 Subject: [PATCH] Bugfix to restore ClosableTabComponent properly. --- src/eva2/gui/EvATabbedFrameMaker.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/eva2/gui/EvATabbedFrameMaker.java b/src/eva2/gui/EvATabbedFrameMaker.java index 3a8299e1..6c098e57 100644 --- a/src/eva2/gui/EvATabbedFrameMaker.java +++ b/src/eva2/gui/EvATabbedFrameMaker.java @@ -183,6 +183,7 @@ class ClosableTabComponent extends JPanel { label.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5)); //tab button JButton button = new TabButton(); + add(button); //add more space to the top of the component setBorder(BorderFactory.createEmptyBorder(2, 0, 2, 0)); @@ -215,6 +216,7 @@ class ClosableTabComponent extends JPanel { final String tabTitle = pane.getTitleAt(i); final Component tabPane = pane.getComponentAt(i); final int tabPosition = i; + pane.remove(i); if(pane.getTabCount() == 0) { pane.setVisible(false); @@ -227,8 +229,11 @@ class ClosableTabComponent extends JPanel { @Override public void actionPerformed(ActionEvent e) { - /* Add the Tab Panel again */ - pane.insertTab(tabTitle, null, tabPane, "", tabPosition); + /* Add the Tab Panel again */ + // ToDo: Fix indexing problem + pane.insertTab(tabTitle, null, tabPane, "", tabPosition); + /* Set the tab component (closable) */ + pane.setTabComponentAt(tabPosition, ClosableTabComponent.this); pane.setVisible(true); /* Remove the Button */ toolBar.remove((Component)e.getSource());