Jdesktoppane

11 respostas
V

eu estou tentando crir um JDesktopFrame mas quando eu executo o programa ele nao aparece e nao sei o que há de errado: to fazendo assim:

import javax.swing.*;

import java.awt.BorderLayout;

import java.awt.GridLayout;

public class Principal extends JFrame{

JDesktopPane desktop;
JInternalFrame frame;

public Principal(){

frame = new JInternalFrame();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);

desktop = new JDesktopPane();

desktop.setVisible(true);
desktop.add(frame);

setContentPane(desktop);

desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);

}

public static void main(String[] args) {

Principal b = new Principal();

}

}

11 Respostas

cv1

Faltou um .show() aí :wink:

V

estranho… pois eu coloquei e nao aconteceu nada
e quando eu coloco, na hora de compilar ele pede pra usar um tal de -deprecation

cv1

Voce tem que chamar show() no JFrame, nao no JDesktopPane - ou seja, no objeto Principal :wink:

F

Só para lembrar o metodo show() esta Deprecated use isVisible(true) no lugar dele.

[]'s

cv1

Perae… show() no JFrame nao ta deprecado nao, moço :smiley:

F

Bom CV intaum me mostre onde estou errado…sinceramente não consegui encontrar o metodo show() direto na na classe JFrame, mas somente na Component e está esta deprecado.

[]'s

cv1

public class Foo { public static void main(String[] args) { new javax.swing.JFrame("Eu juro que eu nao tou doido!").show(); } }

Jair_Rillo_Junior

no código acima

depois do
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);

coloque show();

pelo menos aqui eu testei e funcionou, mas não sou muito expert em Swing :wink:

F

“cv”:
public class Foo { public static void main(String[] args) { new javax.swing.JFrame("Eu juro que eu nao tou doido!").show(); } }

:smiley: Louco não…como o JFrame vai extendendo algumas classes esse show() pode ser de duas…ou da Window ou da Component. Pelo que vi a unica que esta deprecated é da classe Component.

[]'s

Edinei_Manica

Na função main adicione o .show()

public static void main(String[] args) 
{ 
    Principal b = new Principal(); 
    b.show();
}
F

Não querendo ser chato…mas o proprio How to make Frame indica para usar setVisible.

Pelo menos assim garente que não precisará mexer no código quando show() não estiver mais presente…

//1. Optional: Specify who draws the window decorations.
JFrame.setDefaultLookAndFeelDecorated(true);

//2. Create the frame.
JFrame frame = new JFrame(“FrameDemo”);

//3. Optional: What happens when the frame closes?
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//4. Create components and put them in the frame.
//…create emptyLabel…
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);

//5. Size the frame.
frame.pack();

//6. Show it.
frame.setVisible(true);

[]'s

Criado 26 de janeiro de 2004
Ultima resposta 27 de jan. de 2004
Respostas 11
Participantes 5