JTabbedPane Problem

Hi ich hab ein problem mit dem JTabbedPane und zwar wird das in einer meiner Applikationen im South Teil des Panels eingesetzt… im CENTER befindet sich ein Panel… jedoch… wird nun dem JTabbedPane ein Tab mit nem Label hinzugefügt, wird das jeweilige Tab immer um ein Stück größer als das hervorhergehende… wenn ich das ein paar mal mache ist von dem Panel im Center nichts mehr zu sehen… kann mir jemand weiterhelfen?.. ich hab eine vereinfachtes Programm geschrieben welches das Problem darstellt…

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;

public class tabtest extends JFrame
{

JPanel mainpanel=new JPanel();
JTabbedPane jtp = new JTabbedPane();
JButton button = new JButton(„Add Tab“);
int i;

public static void main(String args[])
{
new tabtest().go();
}

public void go()
{
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
JLabel label = new JLabel();
Dimension dim = new Dimension(10,10);
label.setPreferredSize(dim);
label.setMaximumSize(dim);
label.setMinimumSize(dim);
label.setOpaque(true);
label.setBorder(BorderFactory.createLineBorder(Color.black));
label.setBackground(Color.blue);
jtp.addTab(String.valueOf(i++),label);
}
});
mainpanel.add(button);
this.getContentPane().add(mainpanel,BorderLayout.CENTER);
this.getContentPane().add(jtp,BorderLayout.SOUTH);
this.setSize(300,300);
this.setVisible(true);
}

}

Danke für eure Hilfe im vorraus,

Moin,

nettes Problem. Sieht wirklich mächtig eigenartig aus. Anscheinend ändert sich die Größe der JTabbedPane, wenn man einen Tab hinzufügt, aber ich weiß nicht, wann genau.
Ich habe jetzt nix gefunden, aber ich werd’s mir nachher nochmal ansehen. Abhilfe schafft vermutlich erstmal ein anderer Layoutmanager.

(Ein paar Sachen in dem Code sind hoffentlich auf den Beispielcharakter zurückzuführen.)

Thorsten

Ich weiß das der Code nicht Lupenrein ist, soll er auch nicht sein, weil ich ihn nur aus Teilen des original codes zusammengesetzt habe… jedoch wird das mit dem layoutManager wechsel nicht so leicht funktionieren da das komplette Programm auf einem BorderLayout aufbaut und es extrem umständlich wäre jetzt noch auf ein anderes „root“ Layout umzusteigen…

aufjedenfall danke für deine Hilfe,

Thomas

Moin,

Ich hab’s mir nochmal angesehen, aber nichts gefunden. Das sieht nach einem Bug aus.
Schreib doch bitte nochmal eine Nachricht, falls Du die Lösung noch findest.

Thorsten