[Resolvido]Selecionar automaticamente um painel do JTabbedPane

Olá caro amigos,

Estou com um pequeno problema, eu acho.

Na tela principal do sistema, existem vários botões que direciona para várias partes do mesmo… claro.

Só que eu pensei em reunir todos os Painéis e colocar tudo em um JTabbedPane.

Ok. Até aí tudo bem. Só que como existem vários botões na tela principal, eu queria que quando eu abrisse a tela… já estivesse selecionada automaticamente o painél correspondente ao botão… nas minhas pesquisas não achei nada parecido :?

Este é o código que estou usando para instanciar o JTabbedPane:

Geral form = new Geral(); form.show();

Alguma sugestão?

Até mais ! :smiley:

Ola,

Eu nao entendi exatamente sua duvida voce quer trabalhar usando apenas um JFrame eh isso?

de qualquer forma poste o resto do codigo para que possa ser avaliado.

flw.

Olá!

Então… a idéia é a seguinte: Quando eu clicar em um botão no formulário principal … ele vai abrir o formulário Geral… esse formulário geral contém um JTabbedPane com vários painéis inclusos… Eu quero que um dos painéis seja selecionado de acordo com o botão clicado no formulário principal… exemplo:

Se eu clicar em “Despesas” … quando abrir o formulário Geral, já apareça selecionado o painél correspondente a “Despesas” e não o painél “0” … entende ?

Ai está o código por completo citado acima…

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { Geral form = new Geral(); form.show(); }

Deu pra entender ± ? Abraço!

Ola,

Eu entendi agora o que voce quer fazer, realmente eu nunca fiz algo do tipo mas encontrei um codigo que pode te ajudar a resolver

da uma olhada onde eu comentei ( inicio - fim), creio que seja algo semelhante a este bloco de codigo que voce precisa.

import java.awt.BorderLayout;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class MainClass {
  public static void main(String args[]) throws Exception {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JTabbedPane tabbedPane = new JTabbedPane();
    tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
    String titles[] = { "A", "B", "C", "D", "E", "F" };
    int mnemonic[] = { KeyEvent.VK_A, KeyEvent.VK_B, KeyEvent.VK_C, KeyEvent.VK_D, KeyEvent.VK_E,
        KeyEvent.VK_F };
    for (int i = 0, n = titles.length; i < n; i++) {
      add(tabbedPane, titles[i], mnemonic[i]);
    }
    //==============comeco===============================
    ChangeListener changeListener = new ChangeListener() {
      public void stateChanged(ChangeEvent changeEvent) {
        JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource();
        int index = sourceTabbedPane.getSelectedIndex();
        System.out.println("Tab changed to: " + sourceTabbedPane.getTitleAt(index));
      }
    };
    tabbedPane.addChangeListener(changeListener);
   //=================fim===============================

    frame.add(tabbedPane, BorderLayout.CENTER);
    frame.setSize(400, 150);
    frame.setVisible(true);

  }

  static void add(JTabbedPane tabbedPane, String label, int mnemonic) {
    int count = tabbedPane.getTabCount();
    JButton button = new JButton(label);
    tabbedPane.addTab(label, button);
    tabbedPane.setMnemonicAt(count, mnemonic);
  }

}

fonte : http://www.java2s.com/Code/JavaAPI/javax.swing/JTabbedPaneaddChangeListenerChangeListenerl.htm

Espero que ajude,

flw.

Muito obrigado pela sua ajuda ! Funcionou!

Até mais !