Porque o JPanel nao abre?

Pessoal, cirei uma aplicacao JFRAMe com o netbeans 6.5.1, criei um botao para abrir um jpanel(pq jpanel? pq com ele posso setar o setModal para deixar a tela sempre em cima sem mexer na de baixo)… criei um panel padrao com o netbeans e ele ja criou o panel…para teste, fiz um evento actionperformed no botao do jframe e dei um new tela2().setVisible(true); mas ele nao abre a tela… pq???
fiz o mesmo test criando um segundo jframe mas ele abre a tela…

tentei colocar um metodo main no jpanel mas ele nao abre pelo jframe, mas abre se eu executar diretamente ele…
algeum sabe o q posso fazer???

Eu fiz um exemplo parecido com o quê você falou, bom, agora é só eu procurar, porque já tem muito tempo. Achando eu posto aqui novamente.

pq vc nao faz um JDialog modal?
e entao la vc coloca o codigo

this.setUndecorated(true);

vai criar o mesmo efeito do que vc fez e seguramente ele sempre vai ser exibido qndo chamado!

Posso ate tentar o JDialog mas pq o JPANEL nao ta funcionando?? qual a utilidade dele entao???

JPanel é algo onde você põe outros componentes;
ele não é um JWindow (uma janela do Windows ou do Linux que você pode, por exemplo, arrastar pela tela). Exemplos de JWindow são JFrame, JDialog e JApplet.
Ele serve, por exemplo, para você poder organizar componentes (como botões, labels etc.).

Rafael: aproveitando o comentário do thingol, JPanel’s foram feitos para serem inseridos em janelas, e não para serem exibidos individualmente. Por “janela” entenda-se JFrame, JDialog e etc - em suma, classes derivadas de java.awt.Window. A funcionalidade de criação de JPanel’s oferecida pelo NetBeans serve para que você possa reaproveitar o mesmo JPanel em várias janelas diferentes. Por exemplo, experimente o seguinte:

  • Crie, desenhe e compile o seu JPanel;
  • Crie um novo JFrame;
  • Na aba “Projects” do NetBeans, clique na classe correspondente ao JPanel que você criou e arraste-a para dentro do JFrame. Seu JPanel será automaticamente inserido no JFrame como qualquer outro componente gráfico.

O interessante dessa prática é que, de agora em diante, qualquer alteração que você fizer no JPanel original será refletida no JFrame. Mas o X da questão é: quer exibir uma janela? Use JFrame ou JDialog.