boa noite galera…
estou tendo problema com as JFrame…
tenho a tela do menu principal… so que a cada janela q vou abrindo do sistema vai aumentando na barra de tarefa so windows, eu queria saber se tem uma forma sem ser utilizar jInternalFrame, tipo um jeito de nao mostrar na barra de tarefa a cada janela q for abrindo do sistema???
Com JFrames, não tem jeito. Mas esse é o comportamento normal das aplicações Windows.
Quando você abre duas instâncias do Word ou do Powerpoint, você vê dois ícones na barra de tarefas.
Se você quiser um ícone só, deve usar abas (como o Firefox), um componente chamado JTabbedPane. Outra possibilidade é usar o JInternalFrame, mas é um componente antiquado.
Você pode notar que as aplicações Microsoft já abandonaram o conceito de MDI há pelo menos 5 anos. No lugar, você poderia abrir JDialogs, embora esse não seja exatamente o papel delas.
Geralmente, é uma má idéia fugir dos padrões dos sistemas operacionais.
ViniGodoy esse é um projetinho pra TCC da faculdade,
me de uma opniao sua… estou fzd um sistema basico para uma loja, de venda de produtos e tals…
na sua opniao deixo como esta abrindo as janelas normalmente na barra de tarefas ou tento mudar para jinternalframe??
mas so uma outra pergunta… eu tenho um menu principal, e quando abro a tela de cadastro de cliente eu nao quero q o menu principal fique ativo para clicar e tals… so q minha aplicaçao esta toda em jFrame…
tem como eu quado abrir o cadastro de cliente eu nao poder clicar na janela anterior?
Bom dia ViniGodoy. Pode será me explicar como que trava o outro frame? porque em um sistema que eu tava fazendo precisava exatamente disso e não consegui até que larguei mão huahsuah. Obrigado.
Você usa para isso um JDialog. O JDialog é uma janela que suporta o conceito de “modal” ou seja, não deixar que você acesse outras janelas até que ela seja fechada. O JDialog só dará acesso a janelas que o próprio JDialog abrir.
Tem um exemplo aqui:
Uma das grandes vantagens do JDialog é que o método setVisible() de uma dialog modal só retorna quando a janela fecha. Assim, fica bem fácil criar Dialogs para perguntar informações ao usuário, e ler quais informações foram lidas ao final. O exemplo do link acima mostra também essa situação.
Para tornar uma dialog modal, basta chamar o método setModel e passar como parâmetro o valor true.
[quote=ViniGodoy]Você usa para isso um JDialog. O JDialog é uma janela que suporta o conceito de “modal” ou seja, não deixar que você acesse outras janelas até que ela seja fechada. O JDialog só dará acesso a janelas que o próprio JDialog abrir.
Tem um exemplo aqui:
Uma das grandes vantagens do JDialog é que o método setVisible() de uma dialog modal só retorna quando a janela fecha. Assim, fica bem fácil criar Dialogs para perguntar informações ao usuário, e ler quais informações foram lidas ao final. O exemplo do link acima mostra também essa situação.
Para tornar uma dialog modal, basta chamar o método setModel e passar como parâmetro o valor true.
suaDialog.setModal(true);
A sim! agora intendi. Depois vou tentar restaurar meu projeto. Eu tava tentando fazer uma espécie de pagina de login só que tava dando muita dor de cabeça pois eu estava usando JFrame então eu precisava desativar o frame principal e estava usando setVisible mas deu um punhado de problemas. Obrigado Vini.
[quote=DaitonJr]eu consigo chamar um Jframe passando um valor pra ele??
preciso passar uma variavel por exemplo “1” ou “0”,
se for 1 eu habilito tal coisa no jframe e se for 0 habilito outra coisa??? [/quote]
Eu ja precisei fazer isso uma vez antes de usa o dialog que agora funcionou. Mas eu fis diferente! eu criei uma classe com uma variavel do tipo static assim vc pode instanciar quantas vezes quiser que ela tera o mesmo valor estabelecido. Dai no seu frame vc faz a verificação. Acho que é isso que você quer saber né? Qualquer coisa me manda um email em esdrasbrz@gmail.com ou responde aqui mesmo.