Avatar billede aslan Nybegynder
08. maj 2002 - 00:26 Der er 3 kommentarer og
2 løsninger

Kun contentPane2 skal blive usynlig

I dette eksempel vil jeg have at kun contentPane2 bliver usynlig når jeg trykker på opdater, men af en eller anden grund bliver hele Jframen usynlig?


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Reservation extends JFrame implements ActionListener
{
    boolean inAnApplet = true;
    final boolean shouldFill = true;
    final boolean shouldWeightX = true;
    JButton opret,søg,opdater,slet,nyGæst,søgGæst,afslut,checkInd,checkUd;
    JTextField skrivNr,skrivUdlStart,skrivUdlSlut,gæstNr;

    Container contentPane = getContentPane();
    Container contentPane2 = getContentPane();

    public Reservation() {

    GridBagLayout gridbag = new GridBagLayout();
    GridBagLayout gridbag2 = new GridBagLayout();

    GridBagConstraints c = new GridBagConstraints();
    GridBagConstraints c2 = new GridBagConstraints();

    contentPane.setLayout(gridbag);
    contentPane2.setLayout(gridbag2);

    c.fill = GridBagConstraints.HORIZONTAL;
    c2.fill = GridBagConstraints.HORIZONTAL;


    JLabel skriv = new JLabel("Reservations Nr");
    c.gridx = 0;
    c.gridy = 0;
    gridbag.setConstraints(skriv, c);
    contentPane2.add(skriv);

    JLabel skriv2 = new JLabel("Dato Udlej. Start");
    c.insets = new Insets(10,0,0,0);
    c.gridx = 0;
    c.gridy = 1;
    gridbag.setConstraints(skriv2, c);
    contentPane2.add(skriv2);

    JLabel skriv3 = new JLabel("Dato Udlej. Slut");
    c.insets = new Insets(10,0,0,0);
    c.gridx = 0;
    c.gridy = 2;
    gridbag.setConstraints(skriv3, c);
    contentPane2.add(skriv3);

    checkInd = new JButton("CheckInd");
    c.insets = new Insets(10,0,0,0);
    c.gridx = 0;
    c.gridy = 3;
    gridbag.setConstraints(checkInd, c);
    contentPane2.add(checkInd);

    JLabel skriv4 = new JLabel("Gæstnummer");
    c.insets = new Insets(30,0,0,0);
    c.gridx = 0;
    c.gridy = 4;
    gridbag.setConstraints(skriv4, c);
    contentPane2.add(skriv4);

    skrivNr = new JTextField(10);
    c.insets = new Insets(0,20,0,0);
    c.gridx = 1;
    c.gridy = 0;
    gridbag.setConstraints(skrivNr, c);
    contentPane2.add(skrivNr);

    skrivUdlStart = new JTextField(10);
    c.insets = new Insets(10,20,0,0);
    c.gridx = 1;
    c.gridy = 1;
    gridbag.setConstraints(skrivUdlStart, c);
    contentPane2.add(skrivUdlStart);

    skrivUdlSlut = new JTextField(10);
    c.insets = new Insets(10,20,0,0);
    c.gridx = 1;
    c.gridy = 2;
    gridbag.setConstraints(skrivUdlSlut, c);
    contentPane2.add(skrivUdlSlut);


    checkUd = new JButton("CheckUd");
    c.insets = new Insets(10,20,0,0);
    c.gridx = 1;
    c.gridy = 3;
    gridbag.setConstraints(checkUd, c);
    contentPane2.add(checkUd);

    gæstNr = new JTextField(10);
    c.insets = new Insets(30,20,0,0);
    c.gridx = 1;
    c.gridy = 4;
    gridbag.setConstraints(gæstNr, c);
    contentPane2.add(gæstNr);

    opret = new JButton("Opret");
    c.insets = new Insets(0,250,0,0);
    c.gridx = 2;
    c.gridy = 0;
    gridbag.setConstraints(opret, c);
    contentPane.add(opret);

    søg = new JButton("Søg");
    c.insets = new Insets(10,250,0,0);
    c.gridx = 2;
    c.gridy = 1;
    gridbag.setConstraints(søg, c);
    contentPane.add(søg);

    opdater = new JButton("Opdater");
    c.insets = new Insets(10,250,0,0);
    c.gridx = 2;
    c.gridy = 2;
    gridbag.setConstraints(opdater, c);
    contentPane.add(opdater);
    opdater.addActionListener(this);

    slet = new JButton("Slet");
    c.insets = new Insets(10,250,0,0);
    c.gridx = 2;
    c.gridy = 3;
    gridbag.setConstraints(slet, c);
    contentPane.add(slet);

    nyGæst = new JButton("Ny Gæst");
    c.insets = new Insets(20,250,0,0);
    c.gridx = 2;
    c.gridy = 4;
    gridbag.setConstraints(nyGæst, c);

    contentPane.add(nyGæst);

    søgGæst = new JButton("Søg Gæst");
    c.insets = new Insets(10,250,0,0);
    c.gridx = 2;
    c.gridy = 5;
    gridbag.setConstraints(søgGæst, c);
    contentPane.add(søgGæst);

    afslut = new JButton("Afslut");
    c.insets = new Insets(20,250,0,0);
    c.gridx = 2;
    c.gridy = 6;
    gridbag.setConstraints(afslut, c);
    contentPane.add(afslut);


    addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            if (inAnApplet) {
            dispose();
            } else {
            System.exit(0);
            }
        }
        });


    }
    public void actionPerformed( ActionEvent e )
    {

      if( e.getSource() == opdater );
      {
          contentPane2.setVisible(false);

      }


    }

}
Avatar billede jword Nybegynder
08. maj 2002 - 08:02 #1
Der er ingen forskel mellem contentpane 1 og 2, det er det samme. Du får ikke flere forskellige contentpanes ved at kalde getContentPane flere gange. En JFrame har ét contentpane, som du kan få eller sætte via getContentpane setContentpane, ønsker du flere containere skal du opdele denne contentpane (en container) i andre containere, f.eks. kunne du adde alle de komponenenter du har i dit fiktive contentpane2 til et JPanel og så adde det JPanel til contentpane. I din actionPerformed metode sætter du så dit jpanel til usynlig.
Avatar billede aslan Nybegynder
08. maj 2002 - 11:46 #2
Hvis du lige gjorde det for mig ville jeg være dig yderst taknemmelig... jeg har rodet med dette problem i flere uger snart!
Avatar billede jword Nybegynder
08. maj 2002 - 12:22 #3
Her er din tilretttede kode, ret selv så constraints passer. Håber det hjælper dig lidt igang :)

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Reservation extends JFrame implements ActionListener
{
    boolean inAnApplet = true;
    final boolean shouldFill = true;
    final boolean shouldWeightX = true;
    JButton opret,søg,opdater,slet,nyGæst,søgGæst,afslut,checkInd,checkUd;
    JTextField skrivNr,skrivUdlStart,skrivUdlSlut,gæstNr;

    Container contentPane = getContentPane();
    Container contentPane2;    // = getContentPane();

    public Reservation() {
       
        contentPane2 = new JPanel();    //nyt jpanel

    GridBagLayout gridbag = new GridBagLayout();
    GridBagLayout gridbag2 = new GridBagLayout();

    GridBagConstraints c = new GridBagConstraints();
    GridBagConstraints c2 = new GridBagConstraints();

    contentPane.setLayout(gridbag);
    contentPane2.setLayout(gridbag2);

    c.fill = GridBagConstraints.HORIZONTAL;
    c2.fill = GridBagConstraints.HORIZONTAL;


    JLabel skriv = new JLabel("Reservations Nr");
    c.gridx = 0;
    c.gridy = 0;
    gridbag.setConstraints(skriv, c);
    contentPane2.add(skriv);

    JLabel skriv2 = new JLabel("Dato Udlej. Start");
    c.insets = new Insets(10,0,0,0);
    c.gridx = 0;
    c.gridy = 1;
    gridbag.setConstraints(skriv2, c);
    contentPane2.add(skriv2);

    JLabel skriv3 = new JLabel("Dato Udlej. Slut");
    c.insets = new Insets(10,0,0,0);
    c.gridx = 0;
    c.gridy = 2;
    gridbag.setConstraints(skriv3, c);
    contentPane2.add(skriv3);

    checkInd = new JButton("CheckInd");
    c.insets = new Insets(10,0,0,0);
    c.gridx = 0;
    c.gridy = 3;
    gridbag.setConstraints(checkInd, c);
    contentPane2.add(checkInd);

    JLabel skriv4 = new JLabel("Gæstnummer");
    c.insets = new Insets(30,0,0,0);
    c.gridx = 0;
    c.gridy = 4;
    gridbag.setConstraints(skriv4, c);
    contentPane2.add(skriv4);

    skrivNr = new JTextField(10);
    c.insets = new Insets(0,20,0,0);
    c.gridx = 1;
    c.gridy = 0;
    gridbag.setConstraints(skrivNr, c);
    contentPane2.add(skrivNr);

    skrivUdlStart = new JTextField(10);
    c.insets = new Insets(10,20,0,0);
    c.gridx = 1;
    c.gridy = 1;
    gridbag.setConstraints(skrivUdlStart, c);
    contentPane2.add(skrivUdlStart);

    skrivUdlSlut = new JTextField(10);
    c.insets = new Insets(10,20,0,0);
    c.gridx = 1;
    c.gridy = 2;
    gridbag.setConstraints(skrivUdlSlut, c);
    contentPane2.add(skrivUdlSlut);


    checkUd = new JButton("CheckUd");
    c.insets = new Insets(10,20,0,0);
    c.gridx = 1;
    c.gridy = 3;
    gridbag.setConstraints(checkUd, c);
    contentPane2.add(checkUd);

    gæstNr = new JTextField(10);
    c.insets = new Insets(30,20,0,0);
    c.gridx = 1;
    c.gridy = 4;
    gridbag.setConstraints(gæstNr, c);
    contentPane2.add(gæstNr);

    opret = new JButton("Opret");
    c.insets = new Insets(0,250,0,0);
    c.gridx = 2;
    c.gridy = 0;
    gridbag.setConstraints(opret, c);
    contentPane.add(opret);

    søg = new JButton("Søg");
    c.insets = new Insets(10,250,0,0);
    c.gridx = 2;
    c.gridy = 1;
    gridbag.setConstraints(søg, c);
    contentPane.add(søg);

    opdater = new JButton("Opdater");
    c.insets = new Insets(10,250,0,0);
    c.gridx = 2;
    c.gridy = 2;
    gridbag.setConstraints(opdater, c);
    contentPane.add(opdater);
    opdater.addActionListener(this);

    slet = new JButton("Slet");
    c.insets = new Insets(10,250,0,0);
    c.gridx = 2;
    c.gridy = 3;
    gridbag.setConstraints(slet, c);
    contentPane.add(slet);

    nyGæst = new JButton("Ny Gæst");
    c.insets = new Insets(20,250,0,0);
    c.gridx = 2;
    c.gridy = 4;
    gridbag.setConstraints(nyGæst, c);

    contentPane.add(nyGæst);

    søgGæst = new JButton("Søg Gæst");
    c.insets = new Insets(10,250,0,0);
    c.gridx = 2;
    c.gridy = 5;
    gridbag.setConstraints(søgGæst, c);
    contentPane.add(søgGæst);

    afslut = new JButton("Afslut");
    c.insets = new Insets(20,250,0,0);
    c.gridx = 2;
    c.gridy = 6;
    gridbag.setConstraints(afslut, c);
    contentPane.add(afslut);

    gridbag2.setConstraints(contentPane2, c);    //constraints er ikke tilrettet... gør det selv.
   
    contentPane.add(contentPane2);    //tilføj det nye panel til rootpanel (contentpane)

    addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            if (inAnApplet) {
            dispose();
            } else {
            System.exit(0);
            }
        }
        });


    }
    public void actionPerformed( ActionEvent e )
    {

      if( e.getSource() == opdater );
      {
          contentPane2.setVisible(false);

      }


    }
   
   
   
 

}
Avatar billede aslan Nybegynder
08. maj 2002 - 13:57 #4
Jeg er ikke helt med, hvad er constraints for noget?
Avatar billede aslan Nybegynder
10. maj 2002 - 12:24 #5
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester