[Java] Programm zusammenfügen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Sirod, 12. Mai 2011 .

  1. 12. Mai 2011
    Programm zusammenfügen

    habe ein programm mit mehreren klassen

    jede klasse hat im moment ein eigenes jframe

    wir wollen aber alle jframes in einem einzigen anzeigen

    wie kann man das problemlos umbauen?
     
  2. 12. Mai 2011
    AW: Programm zusammenfügen

    Da gibts verschiedene Möglichkeiten:
    Du kannst eine DesktopPane verwenden und die einzelnen Klassen als JInternalFrames realisieren oder du packst alle Swingelemente auf einen JFrame.
     
  3. 12. Mai 2011
    AW: Programm zusammenfügen

    Habt ihr die einzelnen Swing Elemente von jedem JFrame nicht in einem Panel drin?

    Normal fügt man ja die Komponenten in Panels und diese dann in Frames.
    Dann könntet ihr die einzelnen Panels in einem Frame anzeigen lassen oder so.
     
  4. 13. Mai 2011
    AW: Programm zusammenfügen

    und wie geht das genau ? wir haben mehrere klassen ! die swing elemente sind in panels gepackt dann haben wir eine weitere klasse mit dem frame und nun wollen wir die panels unterschiedlich im frame anzeigen.
     
  5. 13. Mai 2011
    AW: Programm zusammenfügen

    Ahja ich mach mal etwas Beispielcode:

    Also die einzelnen Klassen mit den Komponenten lasst ihr von JPanel erben so:
    Code:
    import javax.swing.JPanel;
    
    public class JPanel1 extends JPanel {
     
     public JPanel1(){
     //Hier die ganzen Komponenten in ein JPanel einfügen
     //Dieses JPanel wird dann erstellt und im Hauptfenster verwendet
     super();
     //mit this.add wird ein neuer JButton ins Panel eingefügt
     this.add(new JButton());
     }
    }
    
    Und in der Klasse mit dem Hauptfenster kannst du dann die JPanels mit dem Konstruktor der kleineren Klassen in dein JFrame einfügen:

    Code:
    import java.awt.GridLayout;
    
    import javax.swing.JFrame;
    
    public class HauptFrame {
     JFrame mainFrame = new JFrame("Hauptfenster");
    
     public HauptFrame(){
     //Hier das Layout einfügen wie ihr es haben wollt!
     mainFrame.setLayout(new GridLayout(2,2));
     //hier wird ein JPanel von der Klasse JPanel1 hinzugefügt!!!
     mainFrame.add(new JPanel1());
     }
    }
    
    Dann hast du die einzelnen JPanels jeweils in einer eigenen Klasse deklariert und benutzt Sie in einer großen Hauptklasse!

    Ich hoffe ich konnte dir ein paar Denkanstöße geben und glaub das ich selbst noch nen kleinen Denkfehler hab ^^
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.