desculpa as duvidas rs, mas como faço pra que a JFrame fique visivel, mas que não possa utilizar.
Ex: eu tenho uma JFrame principal, aí eu abro a outra, enquanto essa outra estiver aberta, não será possivel usar a principal.
Abraços
desculpa as duvidas rs, mas como faço pra que a JFrame fique visivel, mas que não possa utilizar.
Ex: eu tenho uma JFrame principal, aí eu abro a outra, enquanto essa outra estiver aberta, não será possivel usar a principal.
Abraços
Dependendo do objetivo de se usar o outro JFrame, não é melhor usar um JDialog?
O JDialog possui uma propriedade chamada “modal”, que bloqueia o uso de outras janelas e elementos fora da área desta caixa de diálogo.
Exemplificando, você poderia fazer assim ao clicar em um botão, por exemplo:
JDialog meuDialog = new JDialog();
meuDialog.setModal(true);
meuDialog.setVisible(true);
Testa aí e veja se isso resolve
mas no caso, eu tenho uma JFrame principal e a outra é pra cadastro de usuarios, acho que não serve
E qual seria o propósito de bloquear o JFrame principal e por quanto tempo? Ou melhor, quando você diz “não possa utilizar” pode ser tanto no sentido de bloquear mesmo (ou seja, a janela permanece visível mas o usuário não interage com nada contido nela) ou no sentido de esconder; qual é no caso?
No sentindo de Bloqueiar mesmo, eu quero que faça isso, enquanto não fechar a outra JFrame.
ex: em um sistema de matriculas, eu tenho o JFrame Principal e quero cadastrar um aluno, enquanto eu não fechar o JFrame de cadastro, não posso usar o Principal, mas com ele visivel, apenas bloquear o JFrame, para não poder usar os outros compontentes.
public static void main(String[] args) {
JFrame f1 = new JFrame("Frame 1");
f1.setSize(200, 200);
f1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
JDialog f2 = new JDialog(f1, true);
f2.setSize(100, 100);
f1.setLocationRelativeTo(null); //centralizando o principal na tela
f2.setLocationRelativeTo(f1); //colocando o secundário no centro do principal
f1.setVisible(true);
f2.setVisible(true);
}
Rode esse código e veja se não é isso que você quer. =)
Então o JDialog resolve seu problema
Pronto!
Uma dica, não deixe o comando setVisible() no construtor de suas janelas, ou você terá problemas com os JDialogs modais. Na verdade, quem deve escolher quando a janela fica visível ou não é quem dá new na janela.
Olha, tirei um tempo e peguei um exemplo de como estou usando,
imagino que assim como os amigos do guj já disseram, o JDialog resolve o seu problema,
de uma olhada de como usalo, tirei esse exemplo do sistema que estou fazendo,
não repare os componentes que eu uso, pois são componentes que eu fiz,
a unica coisa que fiz na verdade foi tirar as funcionalidades da tela para que vs tenha uma ideia de como fazer,
espero ter ajudado.