// Centraliza a janela de abertura no centro do desktop.Dimensionscreen=Toolkit.getDefaultToolkit().getScreenSize();Rectangler=componente.getBounds();// Dimensões da janelaintwidthSplash=r.width;intheightSplash=r.height;
// calculo para encontrar as cooredenadas X e Y para a centralização da janela.intposX=(screen.width/2)-(widthSplash/2);intposY=(screen.height/2)-(heightSplash/2);//System.out.println("x:\n"+posX+"y"+posY);componente.setBounds(posX,posY,widthSplash,heightSplash);}publicJPanelpainel,painel3;publicJLabeljanela=newJLabel("Escolha Candidato:");ArrayList<String>frases=newArrayList<String>();publicJTextFieldcampo=newJTextField(10);ImageIconicone=newImageIcon("logo.jpg");publicJLabelfoto=newJLabel(icone);intlinhas;publicJTextAreacampo2=newJTextArea(13,12);JButtonbotaop=newJButton("Inserir Candidatos");JButtonbotao=newJButton(" OK ");JButtonbotao1=newJButton(" teste ");Candidatos(){super("CIPA CARAIR");Adicionaadiciona=newAdiciona();botaop.addActionListener(adiciona);this.painel=newJPanel();this.painel.setLayout(newFlowLayout());this.painel.add(janela);this.painel.add(campo);this.painel.add(botao);this.painel3=newJPanel();this.painel3.setLayout(newFlowLayout());//pega a altura e largura//int altura = icone.getIconHeight();// int largura = icone.getIconWidth();this.painel3.add(foto);this.painel3.add(botaop);this.add(this.painel,BorderLayout.NORTH);this.add(this.painel3,BorderLayout.SOUTH);}publicclassAdicionaimplementsActionListener{publicvoidactionPerformed(ActionEvente){//aqui não sei como abrir outra janela}}
Olá Pessoal estou iniciando em java e estou com muitas duvidas…
Se puderem me ajudar ficarei muito grata…
Uma delas é a respeito de chamar uma outra classe(JFrame) que criei quando aperto em um botão.
Ja fiz a ação nele e ele até chama esse Frame so que aparece o nome do Frame mas dentro está tudo vazio…
O que devo fazer???
P.S. dentro desse Frame que estou chamando coloquei todos os campos em Panels diferente.
Ironlynx
Camillinha , bem-vinda ao GUJ!
Poste o seu código aqui, usando as tags code que estão acima da sua caixa de texto para darmos uma olhada.
Anime
Oi Camillinha,
Bem estranho isso,por favor,poste seu código… :roll:
Camillinha
Esse é o Principal:
classLoginextendsJFrame{privateJTextFieldtfLogin;privateJLabellbSenha;privateJLabellbLogin;privateJButtonbtLogin;privateJButtonbtCadastrar;privateJButtonbtCancelar;privateJPasswordFieldpfSenha;privateJPaneljpPanel;privateJLabellbTexto;publicLogin(){super("Login");}publicstaticvoidmain(Stringargs[]){newLogin().exibir();}publicvoidexibir(){LayoutManagerlayout=newGridLayout(1,1);jpPanel=newJPanel();tfLogin=newJTextField(10);pfSenha=newJPasswordField(10);lbSenha=newJLabel("Senha: ");lbLogin=newJLabel("Login: ");btLogin=newJButton("Logar");btCadastrar=newJButton("Cadastrar-se");btCadastrar.setBounds(50,70,100,25);btCancelar=newJButton("Cancelar");lbTexto=newJLabel("*Se você ainda não possui login, Cadastre-se");tfLogin.setBounds(100,30,120,25);pfSenha.setBounds(30,30,30,25);lbSenha.setBounds(30,75,30,25);lbLogin.setBounds(30,30,30,25);btLogin.setBounds(20,120,100,25);pfSenha.setBounds(100,75,120,25);btCancelar.setBounds(125,120,100,25);LayoutManagerlog=newFlowLayout(-1);JPanelpLog=newJPanel(log);pLog.add(lbLogin);pLog.add(tfLogin);jpPanel.add(pLog);LayoutManagersen=newFlowLayout(-1);JPanelpSen=newJPanel(sen);pSen.add(lbSenha);pSen.add(pfSenha);jpPanel.add(pSen);//Eu chamo o outro aqui...[b]LayoutManagerbut=newFlowLayout();JPanelpBut=newJPanel(but);pBut.add(btCadastrar);btCadastrar.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){CadUsuariocad1=newCadUsuario();cad1.setVisible(true);}});[/b]pBut.add(btCancelar);btCancelar.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});pBut.add(btLogin);jpPanel.add(pBut);LayoutManagerlab=newFlowLayout(-2);JPanelpLab=newJPanel(lab);pLab.add(lbTexto);jpPanel.add(pLab);add(jpPanel);setLocation(500,200);setSize(300,200);setVisible(true);}}Framecorrespondente,TaaiaconstruçãodosPanels:LayoutManagerlay=newFlowLayout(-1);JPanelpNome=newJPanel(lay);pNome.add(nome);pNome.add(text1);principalPanel.add(pNome);LayoutManagerape=newFlowLayout(-1);JPanelpApelido=newJPanel(ape);pApelido.add(apelido);pApelido.add(text8);principalPanel.add(pApelido);LayoutManagertele=newFlowLayout(-1);JPanelpTel=newJPanel(tele);pTel.add(telefone);pTel.add(text2);pTel.add(data);pTel.add(text3);principalPanel.add(pTel);LayoutManagerend=newFlowLayout(-1);JPanelpEnd=newJPanel(end);pEnd.add(endereco);pEnd.add(text4);pEnd.add(num);pEnd.add(text5);principalPanel.add(pEnd);LayoutManagercid=newFlowLayout(-1);JPanelpCep=newJPanel(cid);pCep.add(cep);pCep.add(text6);pCep.add(cidade);pCep.add(text7);pCep.add(estado);principalPanel.add(pCep);LayoutManagerbut=newFlowLayout();JPanelpBot=newJPanel(but);pBot.add(limpar);pBot.add(ok);limpar.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){text1.setText("");text2.setText("");text3.setText("");text4.setText("");text5.setText("");text6.setText("");text7.setText("");text8.setText("");}});principalPanel.add(pBot);setLocation(500,200);add(principalPanel);setSize(400,300);setVisible(true);}
Acho que Deu certo!
Anime
Ironlynx:
Camillinha , bem-vinda ao GUJ!
Poste o seu código aqui, usando as tags code que estão acima da sua caixa de texto para darmos uma olhada.
Viu o que o Irinlynx disse sobre colocar o código entre as tags Code,faça isso por favor.
Anime
Você deve fazer o código no evento actionPerformed do botão que está utilizando.
new nomeSeuFrame().setVisible(true);//aq chama o proximo
dispose();// dispose vc vai usar se quiser fechar o atual
Camillinha
Ainda não deu certo.
Ele busca o Frame certo so que vem sem informação nenhuma e com uma resolução minuscula. Quando aumento ele esta em branco.
Anime
Camillinha:
Ainda não deu certo.
Ele busca o Frame certo so que vem sem informação nenhuma e com uma resolução minuscula. Quando aumento ele esta em branco.
Não aparece nenhum componente,vc está usando algum IDE para criar o layout?
Desculpe Camillinha,queria ajudar mas não estou entendendo seu código…
Camillinha
É não aparece nenhum componente…
Ah o Frame que chama é do tipo .java e o que deve aparecer tambem é .java.
Tem alguma coisa a ver[/url]???
Nicolas_Fernandes
Oi, Camilinha!
Como você tá usando Layouts específicos, ao terminar de colocar toda a codificação de componentes, adicione o código:
Assim, você diz para o formulário colocar tudo bonitinho na tela como você ordenou!
Tente assim e nos dê um reply!
Anime
Não.
Vc não respondeu se usou algum IDE …
Camillinha
Não utilizei nenhuma
Estou tentando o this.pack(); mas tambem não deu em nada.
Nicolas_Fernandes
Em que momento você tá usando o pack()?
Posta o trecho do código, por favor?
carlosmaniero
Quando vc redimenciona o frame aparecem as imfomações?
porque já tive esse problema ai setei a altura e largura na hora de abrir o Jfram da uma olhada no meu código:
meuFrame.setVisible(true);
meuFrame.setSize(280,300);//Largura,Altura em pixels
Camillinha
Olá…
Perdoe-me pela demora na resposta é que esses dias estava sem tempo pra postar.
Bem, ai vai a resolução do problema…
No metodo que eu estava chamando de exibir(), modifiquei para mostrar() e criei um novo metodo exibir() que apenas continha a localização da janela e o setVisible(true) e dentro do mostrar() eu chamei o exibir();
Deu certinho;…