Menu janela minimizada

Olá pessoal

Queria colocar uma espécie de menu no programa minimizado, daqueles quando o usuário clica com o botão direito aparece as opções - fechar/maximizar/expandir.
Como faço?

vlw

Isso já não aparece por padrão?

é que nem o manu falo acima !!!

meu isso ja é padrão msm…naum tem como fazer de outra maneira que eu saiba…ja vem !!!

abrxx

Bem, quando mando o Iconfiable(minimizar no java) ele não dá essas opções…
Realmente, não sei se é so aqui, mas não parece ser um padrão

PS(Uso Ubuntu)

Quando eu disse padrão, quis dizer que sem precisar fazer nada no código java, já é possível visualizar o menu quando clicar com o botão direito do mouse. As opções dependem do sistema operacional.

Se precisa de opções para maximizar e fechar, elas são oferecidas.


Acho que não me expressei de forma adequada…

Eu minimizo um InternalFrame, dentro de um JDesktop, ai lá, ele não aparece nada
Há como fazer “aparecer” essa barra?

Hmm, com internal frame não sei não.

Mas você pode criar um popup menu e exibi-lo no evento de clique com botão direito.

Ok, mas como faço para integrar esse popup à janela minimizada?

Para setar o popup existe o método setComponentPopupMenu, mas não tenho certeza se vai funcionar na decoração do internal frame.

Fiz assim, não foi…
o que há de errado?


addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent e) {

                if(isIcon() && e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1) {

                    JPopupMenu menu = new JPopupMenu("Opções");

                    JMenuItem item1 = new JMenuItem(new AbstractAction("Fechar") {

                        public void actionPerformed(ActionEvent e) {
                           //System.exit(0);
                            dispose();
                        }

                    });
                    menu.add(item1);
                    add(menu);
                }

            }

        });

Segue um exemplo simples de como fazer isso.

[code] private void initialize() {
JPopupMenu popup = new JPopupMenu(“Menu”); // Cria o popup menu
popup.add(“RST”); // Adiciona os itens. Aqui é melhor passar a Action ao invés da String
popup.add(“UVW”);
popup.add(“XYZ”);

	getDesktopIcon().setComponentPopupMenu(popup); // getDesktopIcon retorna o componente que representa o JInternalFrame minimizado, assim qualquer alteração vai afetar o iframe apenas quando estiver minimizado. setComComponentPopupMenu vincula o popup ao componente.

	inheritPopup(getDesktopIcon().getComponents()); // Chama o método escrito abaixo passando os componentes inseridos no desktopIcon.
}

private void inheritPopup(Component[] comps) {
	for (Component c : comps) {
		if (c instanceof JComponent) {
			((JComponent) c).setInheritsPopupMenu(true); // Faz com que o componente herde o popupMenu de seu container.
		}
	}
}[/code]

Estes métodos devem ser adicionados na classe que estende JInternalFrame, e o método initialize deve ser invocado no construtor.

Aewwwwwwwwwwww Man
Funfo redondo

vlw! :wink:

Mais um capítulo de “como fazer o JDesktopPane ficar só um pouquinho menos tosco”.
Precisa fazer tantas coisas para ele ficar só um pouquinho menos tosco, que normalmente não uso isso. Pouca pipoca pra muito milho.

[quote=entanglement]Mais um capítulo de “como fazer o JDesktopPane ficar só um pouquinho menos tosco”.
Precisa fazer tantas coisas para ele ficar só um pouquinho menos tosco, que normalmente não uso isso. Pouca pipoca pra muito milho.
[/quote]
100% de acordo. Até pra achar conteúdo sobre ele no google é chato. hehe