Hey,
Ich habe zur Zeit Schwierigkeiten mit dem Layout von ein paar TabbedPanes, unter Verwendung vom Nimbus L&F. Wenn sie nicht genug Breite haben, um den Tab-Header vollständig anzeigen zu können, dann "kollabieren" sie in sich zusammen. Naja eigentlich rutscht der Header einfach nur ca 25px nach unten. Wenn allerdings unter der TabbedPane eine andere Komponente ist, die diesen Platz eigentlich einnimmt, dann rutscht der Header IN den eigentlichen Content hinein.
Ich dachte erst es liegt an meinem Layout. Hab verschiedene Layout Manager durchprobiert usw, aber jetzt habe ich herausgefunden dass es an Nimbus liegt.
Bitte mal das folgende KSKB starten (einmal mit Nimbus L&F und einmal mit Default) und jeweils die Fenster-Breite verringern. Unter Verwendung des Nimbus L&F solltet ihr sehen was ich meine:
Gibt's jemanden, bei dem dieses Problem mit dem Nimbus L&F NICHT auftritt? Bitte JDK und OS posten!
Muss ich jetzt das L&F wechseln oder habt ihr irgendwelche Ideen? Soll ich ein Bugticket eröffnen? Habe dazu nichts bei google gefunden. Ich finde den Bug, sofern es wirklich einer ist (wobei ich nicht weiß was ich an dem kleinen KSKB falsch gemacht haben könnte), einigermaßen heftig. Damit kann man das Nimbus L&F mehr oder weniger nicht in einer GUI verwenden, die ein JTabbedPane enthält. Was ja durchaus viele tun.
Ich habe zur Zeit Schwierigkeiten mit dem Layout von ein paar TabbedPanes, unter Verwendung vom Nimbus L&F. Wenn sie nicht genug Breite haben, um den Tab-Header vollständig anzeigen zu können, dann "kollabieren" sie in sich zusammen. Naja eigentlich rutscht der Header einfach nur ca 25px nach unten. Wenn allerdings unter der TabbedPane eine andere Komponente ist, die diesen Platz eigentlich einnimmt, dann rutscht der Header IN den eigentlichen Content hinein.
Ich dachte erst es liegt an meinem Layout. Hab verschiedene Layout Manager durchprobiert usw, aber jetzt habe ich herausgefunden dass es an Nimbus liegt.
Bitte mal das folgende KSKB starten (einmal mit Nimbus L&F und einmal mit Default) und jeweils die Fenster-Breite verringern. Unter Verwendung des Nimbus L&F solltet ihr sehen was ich meine:
Java:
import java.awt.Dimension;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
@SuppressWarnings("serial")
public class NimbusTabbedPaneBug extends JFrame {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager
.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
new NimbusTabbedPaneBug().setVisible(true);
};
});
}
public NimbusTabbedPaneBug() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
JTabbedPane tabs = new JTabbedPane();
JComponent tabContent = new JList<Object>(new String[] { "Entry 1",
"Entry 2", "Entry 3" });
tabContent.setPreferredSize(new Dimension(350, 200));
tabs.addTab("This is an incredibly interesting tab title", tabContent);
add(tabs);
pack();
setLocationRelativeTo(null);
}
}
Gibt's jemanden, bei dem dieses Problem mit dem Nimbus L&F NICHT auftritt? Bitte JDK und OS posten!
Muss ich jetzt das L&F wechseln oder habt ihr irgendwelche Ideen? Soll ich ein Bugticket eröffnen? Habe dazu nichts bei google gefunden. Ich finde den Bug, sofern es wirklich einer ist (wobei ich nicht weiß was ich an dem kleinen KSKB falsch gemacht haben könnte), einigermaßen heftig. Damit kann man das Nimbus L&F mehr oder weniger nicht in einer GUI verwenden, die ein JTabbedPane enthält. Was ja durchaus viele tun.