Container löschen?!

  • Themenstarter Themenstarter newcomer1349
  • Beginndatum Beginndatum
N

newcomer1349

Gast
Bin mir nciht sicher wie ich es erklären soll, also:^^
Mal ganz abgesehen von der sinnhaftigkeit des programms, ich versuche mittels einer Jmenubar zwischen 2 programmteilen hin-und her zu wechseln, allerdings setzt er die Container einfach übereinander :-/ Jetzt bruach ich irgendeine möglichkeit die Container vorher zulöschen oder sowas in der art. hier mal das Programm:
ich war mir nicht sicher welche stelle ihr braucht, hab dfeswegen einfach alles reinkopiert :-/
Vorab schonmal danke für die Hilfe
Java:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.*;
import java.awt.*;

import java.text.*;
import java.util.*;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.event.*;
import javax.swing.*;


public class Schuhkalkulator extends JFrame implements Runnable{

       SimpleDateFormat  sdf, sdf1;
       JMenu             jm_uhr;

       private int anzeige = 0;
       private JProgressBar jpb_prozent1;
       private JProgressBar jpb_prozent2;
       private JTextField   jtf_fusslaengecm1;
       private JTextField   jtf_schuhgroesse1;
       private JTextField   jtf_schuhgroesse2;
       private JTextField   jtf_fusslaengecm2;

       Schuhkalkulator(String title) {

             JLabel            jl_ueberschrift  = new JLabel("Schuhkalkulator");
                               jl_ueberschrift.setFont(new Font("Sans_Serif", Font.BOLD, 20));
                               
             JLabel            jl_intro1 = new JLabel("Einfach unter <Datei> den");
             JLabel            jl_intro2 = new JLabel("ersten \n oder zweiten Teil");
             JLabel            jl_intro3 = new JLabel("anklicken \n und loslegen ;-)");

                               sdf              = new SimpleDateFormat("dd.MM.yyyy");
                               sdf1             = new SimpleDateFormat("HH:mm:ss");

             JMenu             jm_datei         = new JMenu("Datei");
                               jm_uhr           = new JMenu();

             JMenuItem         jmi_teil1      = new JMenuItem(" Teil 1 ");
                               jmi_teil1.addActionListener(new Lauscher());
                               jm_datei.add(jmi_teil1);

             JMenuItem         jmi_teil2      = new JMenuItem(" Teil 2 ");
                               jmi_teil2.addActionListener(new Lauscher());
                               jm_datei.add(jmi_teil2);

             JMenuItem         jmi_beenden      = new JMenuItem(" Ende ");
                               jmi_beenden.addActionListener(new Lauscher());
                               jm_datei.add(jmi_beenden);

             JMenuBar          jmb_time         = new JMenuBar();
                               jmb_time.setLayout(new BorderLayout());
                               jmb_time.add(jm_datei, BorderLayout.WEST);
                               jmb_time.add(jm_uhr, BorderLayout.EAST);

             setJMenuBar       (jmb_time);
             //***************************************
             JPanel left = new JPanel();
             left.setLayout(new FlowLayout());

             JPanel top = new JPanel();
             top.setLayout(new FlowLayout());
             top.add(jl_ueberschrift);


             JPanel right = new JPanel();
             right.setLayout(new FlowLayout());
             
             JPanel middle = new JPanel();
             middle.setLayout(new FlowLayout());
             middle.add(jl_intro1);
             middle.add(jl_intro2);
             middle.add(jl_intro3);
             //***************************************

             Container cp = getContentPane();
             cp.setLayout(new BorderLayout());
             cp.add(top, BorderLayout.NORTH);
             cp.add(left, BorderLayout.WEST);
             cp.add(right, BorderLayout.EAST);
             cp.add(middle, BorderLayout.CENTER);
       }

       public void run() {

              while(true) {
                     Date zeit = new Date();
                     jm_uhr.setText("Datum: "+sdf.format(zeit)+"    Uhrzeit: "+sdf1.format(zeit));
                     try {
                         Thread.sleep(1000);
                     }
                     catch(InterruptedException e) {}
              }
       }

       class Lauscher implements ActionListener {
             public void actionPerformed(ActionEvent e) {
                    String button = e.getActionCommand();
                    if (button.equals("                       Berechne 1                      ")) {
                               anzeige = anzeige+50;
                               jpb_prozent1.setValue(anzeige);
                               double fusslaenge1 = Double.parseDouble(jtf_fusslaengecm1.getText());
                               double schuhgroesse1       = fusslaenge1*11/7;
                               jtf_schuhgroesse1.setText("" + schuhgroesse1);
                    }
                    //*******************************
                    if(button.equals("                       Berechne 2                      ")) {
                               anzeige = anzeige+50;
                               jpb_prozent2.setValue(anzeige);
                               double schuhgroesse2 = Double.parseDouble(jtf_schuhgroesse2.getText());
                               double fusslaenge2     = schuhgroesse2*7/11;
                               jtf_fusslaengecm2.setText("" + fusslaenge2);
                    }
                    //*******************************
                    if(button.equals(" Ende ")) {
                               setVisible(false);
                               setDefaultCloseOperation(EXIT_ON_CLOSE);
                    }
                    //*******************************
                    if(button.equals(" Teil 1 ")) {
                                        JLabel            jl_text1 = new JLabel("Fußlänge in Centimeter: ");
                                        JLabel            jl_text2 = new JLabel("Schuhgröße: ");
                                        
                                        JButton           jb_berechne1     = new JButton("                       Berechne 1                      ");
                                                          jb_berechne1.addActionListener(new Lauscher());
                                        JButton           jb_clear1         = new JButton("                        Neustart1                        ");
                                                          jb_clear1.addActionListener(new Lauscher());
                                                          
                                                          jtf_schuhgroesse1= new JTextField(13);
                                                          jtf_fusslaengecm1= new JTextField(8);
                                                          
                                                          jpb_prozent1      = new JProgressBar(0,100);
                                                          jpb_prozent1.setValue(anzeige);

                                        JPanel teil1 = new JPanel();
                                        teil1.setPreferredSize(new Dimension(300, 400));
                                        teil1.add(jl_text1);
                                        teil1.add(jtf_fusslaengecm1);
                                        teil1.add(jl_text2);
                                        teil1.add(jtf_schuhgroesse1);
                                        teil1.add(jb_berechne1);
                                        
                                        JPanel bottom1 = new JPanel();
                                        bottom1.setLayout(new BorderLayout());
                                        bottom1.add(jpb_prozent1, BorderLayout.NORTH);
                                        bottom1.add(jb_clear1, BorderLayout.SOUTH);

                                        Container cp1 = getContentPane();
                                        cp1.setLayout(new BorderLayout());
                                        cp1.add(teil1, BorderLayout.CENTER);
                                        cp1.add(bottom1, BorderLayout.SOUTH);
                    }
                    //*******************************
                    if(button.equals(" Teil 2 ")) {
                                       JLabel            jl_text3 = new JLabel("Schuhgröße: ");
                                       JLabel            jl_text4 = new JLabel("Fußlänge in Centimeter: ");
                                       
                                       JButton           jb_berechne2     = new JButton("                       Berechne 2                      ");
                                                         jb_berechne2.addActionListener(new Lauscher());
                                       JButton           jb_clear2         = new JButton("                        Neustart2                        ");
                                                         jb_clear2.addActionListener(new Lauscher());
                                                         
                                                         jtf_schuhgroesse2= new JTextField(13);
                                                         jtf_fusslaengecm2= new JTextField(8);
                                                         
                                                         jpb_prozent2      = new JProgressBar(0,100);
                                                         jpb_prozent2.setValue(anzeige);

                                       JPanel teil2 = new JPanel();
                                       teil2.setPreferredSize(new Dimension(300, 400));
                                       teil2.add(jl_text3);
                                       teil2.add(jtf_schuhgroesse2);
                                       teil2.add(jl_text4);
                                       teil2.add(jtf_fusslaengecm2);
                                       teil2.add(jb_berechne2);
                                       
                                       JPanel bottom2 = new JPanel();
                                       bottom2.setLayout(new BorderLayout());
                                       bottom2.add(jpb_prozent2, BorderLayout.NORTH);
                                       bottom2.add(jb_clear2, BorderLayout.SOUTH);
                                       
                                       Container cp2 = getContentPane();
                                       cp2.setLayout(new BorderLayout());
                                       cp2.add(teil2, BorderLayout.CENTER);
                                       cp2.add(bottom2, BorderLayout.SOUTH);
                    }
                    //*******************************
                    if(button.equals("                        Neustart1                        ")) {
                               jtf_fusslaengecm1.setText("");
                               jtf_schuhgroesse1.setText("");
                               anzeige = 0;
                               jpb_prozent1.setValue(anzeige);
                    }
                    //*******************************
                    if(button.equals("                        Neustart2                        ")) {
                               jtf_fusslaengecm2.setText("");
                               jtf_schuhgroesse2.setText("");
                               anzeige = 0;
                               jpb_prozent2.setValue(anzeige);
                    }
             }

       }

    public static void main(String[] args) {
               Schuhkalkulator  fenster = new Schuhkalkulator(" Schuhgrößenkalkulator v. 1.0 ");
                                fenster.setSize(270,200);
                                fenster.setLocation(200,300);
                                fenster.setVisible(true);
                                fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                Thread uhr = new Thread(fenster);
                                uhr.start();
    }
}
 
Ist es nicht. Du fügst die beiden Container hinzu (Name als String im add übergeben, sonst Exception!), und mit irgend einer Methode am LayoutManager schaltest du einfach durch.
 

Zurück
Oben