Eu quero aprender fazer que a minha tela do meu Jframe mude sem ter que chamar outra (pois eu tenho um exercicio de 80 palavras ai não quero ter que abrir 80 telas, pois é a unica coisa que eu sei)
Alguém pode me ajudar
35 Respostas
E qual a dificuldade, jovem? Já pensou em estudar, pegar alguns livros, apostila, tutorial, vídeo aula?
esse é o problema mano eu já tentei isso, procurei video aulas (aprendi novas coisa alias) mas não aprendi o que eu queria, pedi ajuda para o meu professor e ele ainda não respondeu
tava estudando pelo site Java Progressivo e também não achei
O que ocorre é que é um processo bastante complicado e, talvez, mais custoso que criar telas diferentes para cada coisa.
Veja, você precisará:
- Definir os componentes que estão sendo exibidos como setVisible(false) e, talvez, inativar os mesmos (setDisabled(true))
- Garantir que toda a estrutura do JFrame está limpa
- Identificar os componentes a serem exibidos na sequência
- Setar os componentes a serem exibidos como setVisible(true) e setDisabled(false)
- Repetir isso para todas as atualizações.
Pense na quantidade de componentes a serem criados, pense na forma de desenvolver isso, sem se confundir, sem ter uma classe estratosfericamente gigante.
Eu acho inviável.
Da uma estudada no JInternalFrame, acho que com ele vc consegue fazer o que quer
https://docs.oracle.com/javase/tutorial/uiswing/components/internalframe.html
Vou tentar, MUITO Obrigado mano, eu pensei que assim um iria ficar tirando o outro mas não
vou estudar agora, muito obrigado
Usar JInternalFrame é uma opção. Porém, você ainda precisará programar todas as telas, em cada JInternalFrame.
Sim fato, mas a programação dele fica um pouco menos poluida(se é que se pode dizer isso kkkk)
Acho que o meu conceito de poluição e o teu são distintos.
A não ser que ele isole cada JInternalFrame em uma sub classe distinta, ele terá um monte de código amontoado e isso é péssimo.
Por isso eu disse que a melhor abordagem seria criar cada JFrame isolado.
Uma pena não existir um template, como o delphi possui
Quando você diz 80 telas, o que muda de uma para outra? O layout é diferente? Cada tela faz realmente uma coisa diferente?
Darlan, fiz isso, o programa ficou perfeito, como eu imaginei ele saiu, porém na hora de entregar o trabalho na escola ele simplesmente não abriu, eu testei no outro pc e nada também, porém quando eu cheguei em casa ele abriu normal, você tem ideia do que pode ter sido?
Pode ser a versão do JDK, pode ser que tenha faltado alguma coisa na hora de gerar o jar.
a versão do meu o a do PC deles?
De ambos, né? A tua pode ser uma versão e a do outro, outra.
Mas, a maneira mais eficaz de descobrir problemas é sempre colocar logs e invocar a aplicação via linha de comando. Assim, o que houver de erro fica na linha de comando e você pode consultar.
mano, não entendi, pode me dizer como fazer?
Vamos supor que você exportou o projeto para um jar e o nome do jar é projeto_java.jar, ok? Depois você troca esse nome pelo nome do jar que você criou.
Abra uma janela do prompt de comando e execute o método abaixo
java -jar projeto_java.jar
Isso vai abrir a tua aplicação e permitir que você rode tranquilamente, porém, vai manter o prompt aberto e todo e qualquer erro será apresentado neste prompt.
o nome da aplicação é Trabalho fica java -jar Trabalho.jar
mano você quer tentar abrir aí? http://www.mediafire.com/file/zxh2ynfkwt9761d/Trabalho.jar
Acho que já sei, foi umas imagens, eu devo criar um pacote com elas né?
Poxa, a exceção está bem clara, não tem nada a ver com imagens, o que houve é que a JVM não encontrou a seguinte classe:
org.netbeans.lib.awtextra.AbsoluteLayout
Você precisa incluir o JAR dessa classe no classpath de sua aplicação.
Acho que o Staroski já respondeu… aconteceu comigo outras vezes… quando gera o Jar (sem incluir algumas libs nele) roda no seu PC pq ele tem referência lá, mas não tem na sua escola…
Quando for gerar o Jar, veja as opções de incluir libs e classes (para ele ficar com tudo o que precisa para rodar dentro dele, sem dependência/referência externa).
Staroski se não for incomodar, poderia me ensinar?
Entendi, poderia me dizer onde ver?
Tenta uma dessas explicações (não sei sua versão no Eclipse, mas é algo assim)
Sem querer ser abusivo, mas você sabe como é o do NetBeans?
Se eu estou bem lembro, no netbeans você exporta e tem a opção de selecionar onde vai inserir as libs das quais o teu projeto depende (se dentro do jar gerado ou numa pasta fora). Talvez você tenha optado pela segunda opção e esqueceu de copiar a pasta. O ideal é exportar tudo junto, no mesmo jar. Evitando, assim, problemas como este.
Como o Darlan disse, deve ser algo parecido na hora que for gerar o JAR, eu particularmente não sei.
Sim ele fez a pasta fora, aí o programa só inicia quando ele está na mesma pasta com essa pasta que foi gerada
Para uma solução rápida, sempre copie a tal pasta junto do jar.
Ou, como eu comentei, exporte já definindo que as dependências ficam dentro do jar gerado.
você sabe como mudar o exporte? (você pode tentar abrir no seu pc?
http://www.mediafire.com/file/rlgmf7y71a82td0/trabalhodept.rar)
Lacan, faz o seguinte, no Netbeans você clica com o botão direito no projeto e clica na opção Limpar e Construir. Após esse procedimento na Pasta do Netbeans em Meus documentos estará a pasta do projeto e clicando nela terá um pasta chamada dist, nela está o arquivo .jar e uma pasta lib, ou seja ele criou o projeto e deixou alguns arquivo nessa pasta, então tem como fazer um procedimento para juntar tudo em um único arquivo.
XML para um unico JAR.txt (1,0 KB)
Após esse procedimento que falei acima, na aba arquivos do seu projeto você vai procurar o arquivo build.xml, você abre ele e lá no final do script vai terminar com , então antes desse térmico você vai adicionar esse código que estou passando em anexo, na Linha Value=“KitSocorroPge”, você vai alterar para colocar o nome do seu projeto.
Em seguida você clica com o botão direito nesse arquivo build.xml, clica em Executar destino> Outros destinos> package-for-store. se tudo deu certo, na pasta do Netbeans em meus documentos, na pasta do seu projeto, deve ter gerado uma pasta STORE, essa pasta contém o seu arquivo, junto com a pasta lib gerada anteriormente, tudo em um único arquivo.
Agora sim, poderá utilizar em qualquer lugar, desde que tenha o JVM instalado.
Espero ter ajudado.

