Nao mostrar icone da janela na barra de tarefas

Ola,

Na minha aplicacao Swing, toda vez que dou um show() no JFrame, ele mostra na barra de tarefas do SO mais um icone. Portanto, se por acaso eu precisar abrir varios JFrames um apos outro em sequencia, fica um monte de icones la embaixo.

Tem como mostrar apenas o icone da aplicacao, de forma a ter o mesmo comportamento das aplicacoes nativas do SO?

Cara estou com o mesmo problema, se por acaso vc descobrir, posta ae pra nois

Valeu

Qdo vc for instanciar um formulário faça da seguinte forma :

meuForm teste = new meuForm(this,true);

a palavra THIS faz que o novo formulário seja filho do atual.

Ok?

Italivio, naum consegiu aqui, o mesmo exemplo aplica-se a JFrame ??
tenhu um Jframe em um arquivo java e outro q seria o principal, entaum qdo instancio ele no principal ele naum aceita aquele (this, true), estou colocando no lugar correto ???

veja:

new ActionListener(){
public void actionPerformed(ActionEvent e)
{
Cadastro app = new Cadastro(this, true);//aqui naum deu certo, onde seria o correto ???
app.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e) {
setVisible(true)…

valeu

Italivio,

Com JFrame realmente nao funciona, pois ele nao possui um construtor que recebe um objeto (no caso o this) + booleano.

Os construtores de JFrame sao:

JFrame()
Constructs a new frame that is initially invisible.
JFrame(GraphicsConfiguration gc)
Creates a Frame in the specified GraphicsConfiguration of a screen device and a blank title.
JFrame(String title)
Creates a new, initially invisible Frame with the specified title.
JFrame(String title, GraphicsConfiguration gc)
Creates a JFrame with the specified title and the specified GraphicsConfiguration of a screen device.

Portanto, nao tem como usar o exemplo que voce passou. Aquela sua classe Form é filha de quem?

Edilmar, entao nao existe uma maneira para fazer aquilo com JFrame ???

Se caso encontrar favor poste ae, valeu. eu tb ja tentei de varias formas

nao seria o caso de usar JDialog’s?

Ou JInternalFrames?

Estou usando JFrames para abrir um cadastro de clientes, nao conheco muito de JDialogs, mas se tiver como substituir o JFrame para mim tanto faz, ele pode fazer isso ???

O JDialog permite vc definir uma janela pai para a mesma, enquanto o usuario nao fechar a JDialog nao pode voltar à janela principal, vc abrindo uma, vc nao cria outro icone na barra de tarefas :slight_smile:

Legal cara, vc tenta usa ele nu lugar de JFrame

Mas ha limitacoes do JDialog.

Supondo que eu queira abrir outro JDialog ou mesmo um JFrame com um JDialog aberto, nao da certo.

Fora que o JFrame tem muito mais poder de gerenciamento do que o JDialog.

Conforme as msgs, quer dizer que estes programas tipo Eclipse ou Netbeans, que tem um montao de janelas, nao usam JFrame? Com certeza eles nao usam JInternalFrame, pois as janelas tem total liberdade.

Ahhh, e tambem algumas nao sao JDialog porque eu consigo abrir varias e trabalhar clicando em uma ou outra livremente.

Neste caso, a unica opcao é que trabalham mesmo é com JFrame, certo?

Deve ter algum jeito de fazer aparecer apenas UM icone mesmo com varios JFrames… vou pesquisar o codigo fonte de alguns programas e ver se descubro e respondo esta msg…

Não haveria nenhum jeito de setar um JFrame modal? isso resolveria a questão

Bom, ate onde eu sei, JFrame é nao-modal e JDialog é modal. Por isso o pessoal sugeriu usar o JDialog, que por ter outras limitacoes, nao resolve o problema.

JDialog só é modal de vc setar pra modal, senão é uma janela normal…

new JDialog(this, true); // vai contrutor
setModal(true); // via método

Use o JDesktopPane
e JInternalFrame…

:arrow: http://www.javaalmanac.com/egs/javax.swing/desktop_Desktop.html

Tudo bem… mas isso nao resolve o problema.
O foco principal aqui é ter uma forma de todas as janelas ficarem com um unico icone na barra de tarefas, o que eu ainda nao descobri como fazer…
mas “a luta continua”…

E fazer tudo como JInternalFrame nao fornece o mesmo comportamento que os IDEs como Netbeans e outras aplicacoes Swing tem, que criam um monte de janelas com um unico icone. E as janelas com certeza nao usam JInternalFrame, pois este tipo de frame é bem mais restritivo para o layout que a gente ve no Netbeans…

Achei este link:
http://forum.java.sun.com/thread.jspa?threadID=259668&messageID=2178142
e depois este projeto:
https://jmodalwindow.dev.java.net/article/jmodalwindow.html
Pode ser que isso resolva os problemas, pois ele monta uma janela modal sem as limitacoes do JDialog. Alguem conhece este software?

Vc pode fazer da seguinte forma, na sua tela de Menus vc tem varios botões para chamar seus formulários, correto?

Veja que antes de chamar Cadastro de Fornecedor usei o metodo dispose(); para desalocar a memoria e com isso fazer sumiu a barra de tarefas o icone indesejado. Quando você for para o formulario Cadastro de Fornecedor faça um botão fechar o formulario e na ação do botão faça o mesmo chamando o formulario MENU.

[// AÇÃO DO BOTÃO CADASTRO/FORNECEDOR item1.addActionListener (new ActionListener(){ public void actionPerformed (ActionEvent e){ dispose(); CadastroFornecedor ch1= new CadastroFornecedor(); ch1.setVisible(true); //substituindo show } } );