Ajuda com JDesktopPanel

8 respostas
ryouta

Não está aparecendo a imagen no panel2 q eu add o JDesktopPanel pq ?

antes que perguntem a imagem está no diretrio da class!!!

import java.awt.Color;

import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class desk extends JFrame {

	public desk(){
		super("Problemas com JDesktopPane");
		this.setBounds(200,200,500,400);
	    this.setLayout(null);
		
		
		JPanel panel1 = new JPanel();
		panel1.setBackground(Color.BLACK);
		panel1.setBounds(0,0,500,100);
		this.add(panel1);
		
		
		JPanel panel2 = new JPanel();
		panel2.setBounds(0,100,500,300);
		
		
		
		JLabel img = new JLabel(new ImageIcon("src/naveRyouta3.jpg"));
		img.setBounds(0,100,500,300);
		img.setVisible(true);
		
		 JDesktopPane desk = new JDesktopPane();
		 desk.add(img);
		 
		panel2.add(desk);
		this.add(panel2);
		this.setVisible(true);	
	}
	public static void main (String[]a){
		new desk();
	}
	
}

8 Respostas

ViniGodoy

Você sequer sabe para que serve um JDesktopPane?

ryouta

se não é pra ajudar pra que posta ?

todos os postes desse cara é inutil!!!

ViniGodoy

Oi,

Peraí, então o que te expliquei sobre os looks&feels era inútil?
http://www.guj.com.br/java/239734-como-usar-tempo-

Ou que tal o que escrevi pra vc a janela que fechava sozinha, e ajustei o programa até ficar do jeitinho que vc queria?
http://www.guj.com.br/prepost/239734/1237453/como-usar-tempo-

Estou falando isso pq o JDesktopPane deve ser usado para ser um container de JInternalFrames. Não tem como simplesmente adicionar um label sobre ele.
Se você quer ser ajudado, o mínimo que você poderia fazer é deixar de ser folgado, e ter um pouco de educação.

B

Bom pesoal, eu to tendo o seguinte problema

eu tenho 2 paineis um eh normal e outro eh JDesktopPane

no normal eu tenho botoes e no JDesktopPane eu nao tenho nada.

A ideia eh a seguinte:

quando eu clicar num botao, deve abrir uma janela no Jdesktoppane, e quando eu clicar noutro botao, a janela k ja estava aberta deve ser fechada automaticamente e so depois abre-se a outra…

nao to conseguindo, alguem pode-me ajudar?

eh urgente mesmo

valeu

ViniGodoy

Quando clicar no botão, simplesmente crie o JInternalFrame e guarde uma referência para ele na sua classe.

Ao clicar novamente, use essa referência para fechar o painel.

Esse será o código para abrir um dos InternalFrames:

public JanelaComOJDesktopPaneDentro extends JFrame {
     //Declare uma referência para o frame que será aberto.
     private JInternalFrame frame;

No método do botão de abrir:

if (frame != null) return; frame = new SeuInternalFrame(); frame.setVisible(true); desktop.add(frame);

No método do botão de fechar:

//Fecha a primeira janela, se estiver aberta
if (frame != null)
   frame.dispose();

//Só depois abre a outra
new SeuOutroInternalFrame().setVisible(true);

Mais um detalhe: Não peça urgência em fóruns. É considerado falta de educação. Afinal, ninguém é obrigado a vir até aqui, ler os tópicos e responde-lo com pressa.

ryouta

ViniGodoy:
Oi,

Peraí, então o que te expliquei sobre os looks&feels era inútil?
http://www.guj.com.br/java/239734-como-usar-tempo-

Ou que tal o que escrevi pra vc a janela que fechava sozinha, e ajustei o programa até ficar do jeitinho que vc queria?
http://www.guj.com.br/prepost/239734/1237453/como-usar-tempo-

Estou falando isso pq o JDesktopPane deve ser usado para ser um container de JInternalFrames. Não tem como simplesmente adicionar um label sobre ele.
Se você quer ser ajudado, o mínimo que você poderia fazer é deixar de ser folgado, e ter um pouco de educação.

cara era simples bastava diser q o JDesktopPane é um painel e naum se pode colocar um painel dentro de outro

ViniGodoy

Acontece que o JDesktopPane não é um painel: http://download.oracle.com/javase/6/docs/api/javax/swing/JDesktopPane.html

E é possível, sim, colocar um painel dentro de outro.

Por isso perguntei no primeiro post, vc sequer sabe o que é um JDesktopPane? Para que ele serve? Por que você o colocou na sua tela?

ryouta

para deixar de fundo e colocar coisas em cima

mais eu ja conssegui

Criado 27 de abril de 2011
Ultima resposta 3 de mai. de 2011
Respostas 8
Participantes 3