Dúvida com Swing e Java

Machacaz

Power Member
Saudações.
Estou a atrofiar com isto.
Acontece que quero criar uma aplicação em java (JFrame)
Depois, um dos menus fará com quem apareça um Panel e dentro deste queria que existisse um segundo panel que contivesse uma imagem jpeg!

1º Problema: O Panel não me aparece quando é suposto.
Código:
public class headER extends javax.swing.JFrame {
 
 public static PanelX p = new PanelX();
....


   private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        
        p.setVisible(true);
        System.out.println("XXX");
    }


2º Problema: Como faço para aparecer uma imagem como background de um 2º panel dentro deste PanelX no netbeans?

Ajuda?
 
Assim um post sem ter a certeza completa do que estou a dizer, mas o painel n será do tipo JPanel?


Tens razão.
Ora fazendo a coisa com uma JFrame, até funciona... mas depois se fecho a 2a, também a primeira se fecha.
Fazendo com um JPanel, este não aparece.
pq?

Código:
public class headER extends javax.swing.JFrame {
 
 
  JFileChooser fc;
  String directory;
  Vector listFiles = new Vector();
  JPanel pan = new tester();


  public headER() {

        initComponents();
        DefaultListModel listModel = new DefaultListModel();
            for(int i=0;i<listFiles.size();i++)
                listModel.addElement(listFiles.get(i));

            jList1.setModel( listModel );
            jButton2.setEnabled(false);  
    }

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:
        System.out.println("XXXX");
        pan.setLayout(new BorderLayout());
        pan.setVisible(true);
    }
 

Mais uma vez não tenho certeza do que estou a escrever, não tenho aqui forma de testar, mas penso que o JPanel é um componente de uma JFrame. O JPanel é onde desenhas os Jtext, JButton etc.

Ao fechar a segunda janela está a cometer algum erro, pois, normalmente fechas, ou escondes uma janela de cada vez.
Podes tentar ao abrir a 2ª janela fazer o dispose da 1ª, e ao fechar a 2ª se novamente mostrada a 1ª, mas isso já depende muito para e o que estás a programar.
E sim o teu código não ajuda em nada à resolução da tua dúvida.
 
Back
Topo