Boa tarde!
Em poucas palavras, teria que passar como parâmetro o index da aba que seja abrir do principal para o usuário. Não sei como está seu código, mas eu tentaria fazer um construtor desse frame usuário que recebesse um int index, que indicasse qual aba era para ser mostrada na inicialização.
deciorocha
Olá RodrigoV10, obrigado por responder!!!
Pois é, isto eu sei, mas, não to conseguindo fazer. eu fiz isto aqui:
Estranho, se os painéis foram devidamente inicializados ele deveria alterar o painel selecionado. Tenta passar por parâmetro no construtor, para que seja alterado no próprio frame de usuários.
deciorocha
É, não é como eu queria, mas, estou criando via construtor.
Vamos ver se funciona.
deciorocha
Rodrigo, obrigado pela ajuda.
Usei este tutorial para resolver minhas dificuldades. Ainda não é o que eu queria, mas, já tá resolvendo.
Crie um método no Frame Usuário para ser chamado pelo Frame Principal.
Veja o exemplo abaixo.
Tela Principal:
importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.Rectangle;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.UIManager;publicclassTelaPrincipalextendsJFrame{publicstaticvoidmain(String[]args){try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());TelaPrincipaltela=newTelaPrincipal();tela.setDefaultCloseOperation(EXIT_ON_CLOSE);tela.setLocationRelativeTo(null);Rectangler=tela.getBounds();tela.setLocation(r.x-r.width/2,r.y);tela.setVisible(true);}catch(Throwablet){t.printStackTrace();}}privateTelaUsuariotelaUsuario;publicTelaPrincipal(){super("Tela Principal");setSize(640,320);JButtonbotaoAbrirTelaUsuario=newJButton("Abrir Tela Usuário");JButtonbotaoSelecionarAba0=newJButton("Selecionar Aba 0");JButtonbotaoSelecionarAba1=newJButton("Selecionar Aba 1");JButtonbotaoSelecionarAba2=newJButton("Selecionar Aba 2");botaoAbrirTelaUsuario.addActionListener(event->abrirTelaUsuario());botaoSelecionarAba0.addActionListener(event->selecionarAba(0));botaoSelecionarAba1.addActionListener(event->selecionarAba(1));botaoSelecionarAba2.addActionListener(event->selecionarAba(2));JPanelpanel=newJPanel(newFlowLayout(FlowLayout.RIGHT));panel.add(botaoAbrirTelaUsuario);panel.add(botaoSelecionarAba0);panel.add(botaoSelecionarAba1);panel.add(botaoSelecionarAba2);Containercontainer=getContentPane();container.add(panel,BorderLayout.SOUTH);}privatevoidselecionarAba(intaba){TelaUsuariotela=getTelaUsuario();if(tela.isVisible()){tela.selecionarAba(aba);}else{JOptionPane.showMessageDialog(this,"Abra a tela de usuário!","Atenção",JOptionPane.WARNING_MESSAGE);}}privatevoidabrirTelaUsuario(){TelaUsuariotela=getTelaUsuario();tela.setVisible(true);}privateTelaUsuariogetTelaUsuario(){if(telaUsuario==null){telaUsuario=newTelaUsuario();telaUsuario.setDefaultCloseOperation(HIDE_ON_CLOSE);telaUsuario.setLocationRelativeTo(null);Rectangler=telaUsuario.getBounds();telaUsuario.setLocation(r.x+r.width/2,r.y);}returntelaUsuario;}}
Tela Usuário:
importjava.awt.BorderLayout;importjava.awt.Container;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JTabbedPane;publicclassTelaUsuarioextendsJFrame{privateJTabbedPanetabbedPane;publicTelaUsuario(){super("Tela Usuário");setSize(320,240);tabbedPane=newJTabbedPane();tabbedPane.addTab("Aba 0",newJLabel("Esta é a aba 0"));tabbedPane.addTab("Aba 1",newJLabel("Esta é a aba 1"));tabbedPane.addTab("Aba 2",newJLabel("Esta é a aba 2"));Containercontainer=getContentPane();container.add(tabbedPane,BorderLayout.CENTER);}publicvoidselecionarAba(intaba){tabbedPane.setSelectedIndex(aba);}}
deciorocha
Olá Staroski, obrigado por responder!!!
Responder, nada, melhor dizendo, dar uma aula. Sensacional sua resposta!!!
Estou tentando implementar sua resposta. Sou novato e ainda estou me batendo nesta linguagem incrível que é o Java, ou seja, estou sofrendo para implementar… kkkk
Mas, vou conseguir, tenha certeza.
Deixa em implementá-la e te dou retorno de como ficou.
Muito obrigado mesmo pela disposição do teu tempo.