Показать первую вкладку JTabbedPane - PullRequest
2 голосов
/ 13 декабря 2011

У меня есть Jtabbedpane, который содержит 4 вкладки (каждая - Jpanel).

Когда я запускаю приложение из netbeans 6.8, выбранная вкладка будет той же, что была выбрана до закрытия приложения.

Есть ли способ выбрать первую вкладку (индекс 0) при каждом запуске приложения? Вот код:

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);

Это методы private void initComponents () netbeans и при запуске (конструктор моего приложения) будет вызываться initComponents. Я пытаюсь поставить mainTabbedPanel.setSelectedIndex (0) после вызова initComponents (), но не работает.

1 Ответ

6 голосов
/ 13 декабря 2011

По умолчанию будет выбрана первая вкладка. Если происходит что-то другое, то где-то должен быть код, который использует setSelectedIndex (...) для сброса вкладки. Вам нужно найти сгенерированный код, чтобы узнать, где он находится, и удалить код.

Если вы не знаете, как удалить код, вы можете попытаться сбросить индекс после выполнения кода по умолчанию. Это делается с помощью SwingUtilities.invokeLater после того, как GUI становится видимым. Ваш код будет выглядеть примерно так:

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