2 Stimmen

Zeigen Sie den ersten Tab eines JTabbedPane an.

Ich habe ein JTabbedPane, das 4 Registerkarten enthält (jede ein JPanel).

Wenn ich die Anwendung von Netbeans 6.8 ausführe, wird die ausgewählte Registerkarte dieselbe sein wie vor dem Schließen der Anwendung.

Gibt es eine Möglichkeit, jedes Mal die erste Registerkarte (Index 0) auszuwählen, wenn ich meine Anwendung ausführe? Hier ist der Code:

mainTabbedPanel = new javax.swing.JTabbedPane();
mainTabbedPanel.setName("mainTabbedPanel");
mainTabbedPanel.addTab(resourceMap.getString("panel1"), panel1);
mainTabbedPanel.addTab(resourceMap.getString("panel2"), panel2);
mainTabbedPanel.addTab(resourceMap.getString("panel3"), panel3);
mainTabbedPanel.addTab(resourceMap.getString("panel4"), panel4);

Diese sind in der Methode private void initComponents() von Netbeans und beim Start (Konstruktor meiner Anwendung) wird initComponents aufgerufen. Ich habe versucht, mainTabbedPanel.setSelectedIndex(0) nach dem Aufruf von initComponents() zu setzen, aber es hat nicht funktioniert.

6voto

camickr Punkte 315810

Standardmäßig wird der erste Tab ausgewählt. Wenn etwas anderes passiert, muss irgendwo im Code die Methode setSelectedIndex(...) verwendet werden, um den Tab zurückzusetzen. Sie müssen den generierten Code durchsuchen, um herauszufinden, wo dies geschieht, und den Code entfernen.

Wenn Sie nicht wissen, wie Sie den Code entfernen können, können Sie versuchen, den Index nach Ausführung des Standardcodes zurückzusetzen. Dies wird durch die Verwendung von SwingUtilities.invokeLater nachdem die GUI sichtbar ist erreicht. Ihr Code würde dann so aussehen:

SwingUtilities.invokeLater(new Runnable()
{
    public void run()
    {
        tabbedPane.setSelectedIndex(0);
    }
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X