Estou desenvolvendo uma aplicação onde utilizo um JFrame junto com um JDesktopPane.
O meu problema tá no momento em que inicio a aplicação, pois a janela principal da mesma pega toda a área do monitor, não aparecendo a barra de tarefas. Tem como eu permitir que a aplicação se acomode acima da barra de tarefas, como ocorre com a maioria das aplicações?
Fiz tudo o que vocês sugeriram, mesmo assim não tá funcionando.
A minha aplicação chama um tela Splash antes, tirei a chamada dessa tela, pensando que o problema poderia estar aí, mas nem assim o problema foi resolvido.
Abaxio segue meu código:
public Principal() {
super("Sistema");
setResizable(false);
setExtendedState(JFrame.MAXIMIZED_BOTH);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Set up the GUI.
desktop = new JDesktopPane(); //a specialized layered pane
setContentPane(desktop);
setJMenuBar(createMenuBar());
//Make dragging a little faster but perhaps uglier.
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
//chamando o formulario de login
chamaLogin();
verificaLogin();
}
pode ser cache
qual IDE vc usa??? as vezes meu pc da a louca e preciso apagar todos os .class e conpilar denovo para executar corretamente…uso JDeveloper no trabalho, uma verdadeira kaka…
no netbeans tem um comando clean and build project…
vc pode verificar se vc esta setando o tamanho do frame tbm
frame.setSize(x,y);
se o valor for muito grande e estiver depois do comando setExtendedState não vai funcionar
coloca um tamanho qualquer pro frame, setSize(), e depois poe o extendedstate antes de vc chamar o metodo setVisible do frame
tenho quase crtz que é a hora que vc chama o metodo que não esta deixando executar…swing tem algumas sequencias que devem ser respeitadas…por exemplo, se vc colocar o metodo setVisible antes do extendedstate, a tela pisca causando um efeito meio estranho, entre outros…
Fiz esse exemplo que você me passou, e realmente funcionou corretamente, do jeito que quero. No entanto quando apliquei as modificações para o meu JFrame, o mesmo não funcionou.
Estou começando a achar que o problema deve estar relacionado a 3 coisas:
a) o fato de eu adicionar um JDesktopPane no meu JFrame; ou
b) o fato de eu chamar uma imagem como Splash no início do programa, antes do JFrame iniciar; ou
c) o fato de eu chamar um ou outro JFrame para fazer login, este aparece na frente do JFrame principal, no entanto as propriedades do JFrame principal são passadas antes de se chamar o JFrame de Login.
Vou pesquisar mais um pouco aqui, mas sinceramente já me passa pela cabeça deixar como está.