Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 20 von 20

Thema: Panel löschen (GUI neu aufbauen)

  1. #16
    Registrierter Benutzer Avatar von lousypoetry
    Registriert seit
    10.04.2005
    Beiträge
    56
    klar, sorry, hab ich nicht dran gedacht! Müsste jetzt ausführbar sein!

  2. #17
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Ich hab in deinem Code ein wenig die Übersicht verloren, drum hab ich meinen weiterentwickelt:

    Code:
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    
    public class Test2 extends JFrame {
    
    	private JButton jButton;
    	private JLabel jLabel;
    	private JPanel jPanel;
    	private Container cp;
    	
    	
    	public Test2() {
    		this.setSize(300, 200);
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		
    		cp = getContentPane();
    		cp.setLayout(null);
    		
    		jButton = new JButton("Los!");
    		jButton.setBounds(0,10,100,50);
    		jButton.addActionListener( new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    				cp.remove(jPanel);
    				cp.update(cp.getGraphics());
    				jPanel=new JPanel(new BorderLayout());
    				jPanel.setBounds(0,60,300,100);
    				jPanel.add(new JButton("es wurde geklickt."));
    				cp.add(jPanel);
    				cp.update(cp.getGraphics());
    				cp.setVisible(false);
    				cp.setVisible(true);
    			}
    		});
    		cp.add(jButton);
    		
    		jPanel = new JPanel(new BorderLayout());
    		jPanel.setBounds(0,60,300,100);
    		cp.add(jPanel);
    				
    		jPanel.add(jLabel = new JLabel("Vorher"));
    		
    		this.setVisible(true);
    	}
    	
    	public static void main(String[] args){
    		Test2 test = new Test2();
    	}
    }
    So gehts bei mir.

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #18
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Vielleicht hilft ja mein Fund weiter.

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

    /** Erzeuge ein Swing-Fenster, das mit Buttons und
    * Combo-Box sein Look and feel aendern kann
    */
    public class LookAndFeel extends JFrame {
    Container c; // Container dieses Frames
    JButton b1, b2, b3; // Buttons
    JComboBox cb; // Combo-Box
    JFrame f = this; // Referenz auf dieses Frame

    public LookAndFeel() { // Konstruktor
    c = getContentPane(); // Container bestimmen
    c.setLayout(new FlowLayout()); // Layout setzen

    // Erzeuge die Buttons und die Combo-Box
    b1 = new JButton("Metal");
    b2 = new JButton("Motif");
    b3 = new JButton("Windows");
    cb = new JComboBox();
    cb.addItem("Metal");
    cb.addItem("Motif");
    cb.addItem("Windows");

    // Fuege die Komponenten dem Frame hinzu
    c.add(b1);
    c.add(b2);
    c.add(b3);
    c.add(cb);

    // Erzeuge den Listener und registriere ihn
    LafListener ll = new LafListener();
    b1.addActionListener(ll);
    b2.addActionListener(ll);
    b3.addActionListener(ll);
    // cb.addItemListener(ll);
    }

    // Innere Listener-Klasse
    public class LafListener implements ActionListener {//ItemListener,
    //
    String[] laf =
    {"javax.swing.plaf.metal.MetalLookAndFeel",
    "com.sun.java.swing.plaf.motif.MotifLookAndFee l",
    "com.sun.java.swing.plaf.windows.WindowsLookAndFee l"};

    /* // Fuer das ItemListener-Interface
    public void itemStateChanged(ItemEvent e) {
    try {
    int i = cb.getSelectedIndex();
    UIManager.setLookAndFeel(laf[i]);
    }
    catch (Exception ex) {
    System.err.println(ex);
    }
    SwingUtilities.updateComponentTreeUI(f);
    }
    */
    // Fuer das ActionListener-Interface
    public void actionPerformed(ActionEvent e) {
    try {
    int i;
    if (e.getSource() == b1)
    i = 0;
    else if (e.getSource() == b2)
    i = 1;
    else
    i = 2;
    UIManager.setLookAndFeel(laf[i]);
    //cb.setSelectedIndex(i);
    }
    catch (Exception ex) {
    System.err.println(ex);
    }
    SwingUtilities.updateComponentTreeUI(f);
    }
    }

    public static void main(String[] args) {
    LookAndFeel fenster = new LookAndFeel();
    fenster.setTitle("Look and feel einstellen");
    fenster.setSize(250,100);
    fenster.setVisible(true);
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CL OSE);
    }
    }

  4. #19
    Registrierter Benutzer Avatar von lousypoetry
    Registriert seit
    10.04.2005
    Beiträge
    56
    Zitat Zitat von bischi
    Ich hab in deinem Code ein wenig die Übersicht verloren, drum hab ich meinen weiterentwickelt
    Kann ich gut verstehen. Ist halt auf die schnelle zusammengeklickt und alles Andere als gut lesbar.

    Danke für deine Hilfe, ich habs jetzt so gemacht wie in deinem Code und es scheint zu funktionieren! Sonst meld ich mich nochmal (natürlich mit klarer Fehlermeldung und verständlichem Code )

  5. #20
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von lousypoetry
    Danke für deine Hilfe, ich habs jetzt so gemacht wie in deinem Code und es scheint zu funktionieren! Sonst meld ich mich nochmal (natürlich mit klarer Fehlermeldung und verständlichem Code )
    Gut wenns funktioniert! (ich musste zuerst auch wieder ein wenig rumprobieren - hab schon zu lange nichts mehr mit Java gemacht...)

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •