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.
D
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.
D
deciorocha
É, não é como eu queria, mas, estou criando via construtor.
Vamos ver se funciona.
D
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);}}
D
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.