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

/**
 *
 * Beschreibung: Vorlage zu Aufgabe 6
 *
 * @version 2.0 vom 10.09.2025
 * @author Ylva Brandt
 */

public class StammbaumApp extends JFrame {
  // Anfang Attribute
  BinTree stammbaum = new BinTree();
   
  private JButton bInorder = new JButton();
  private JTextArea jTextArea1 = new JTextArea("");
  private JScrollPane jTextArea1ScrollPane = new JScrollPane(jTextArea1);
  private JButton bLevelorder = new JButton();
  private JButton bPreorder = new JButton();
  private JButton bPostorder = new JButton();
  // Ende Attribute
  
  public StammbaumApp() { 
    // Frame-Initialisierung
    super();
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 526; 
    int frameHeight = 300;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setTitle("StammbaumApp");
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten
    bPostorder.setBounds(200, 26, 75, 25);
    bPostorder.setText("postorder");
    bPostorder.setMargin(new Insets(2, 2, 2, 2));
    bPostorder.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bPostorder_ActionPerformed(evt);
      }
    });
    cp.add(bPostorder);
    bPreorder.setBounds(104, 26, 75, 25);
    bPreorder.setText("preorder");
    bPreorder.setMargin(new Insets(2, 2, 2, 2));
    bPreorder.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bPreorder_ActionPerformed(evt);
      }
    });
    cp.add(bPreorder);
    bLevelorder.setBounds(19, 67, 75, 25);
    bLevelorder.setText("levelorder");
    bLevelorder.setMargin(new Insets(2, 2, 2, 2));
    bLevelorder.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bLevelorder_ActionPerformed(evt);
      }
    });
    cp.add(bLevelorder);
    jTextArea1ScrollPane.setBounds(304, 24, 177, 209);
    cp.add(jTextArea1ScrollPane);
    bInorder.setBounds(19, 26, 75, 25);
    bInorder.setText("inorder");
    bInorder.setMargin(new Insets(2, 2, 2, 2));
    bInorder.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bInorder_ActionPerformed(evt);
      }
    });
    cp.add(bInorder);
    
    // Ende Komponenten
    
    setVisible(true);
    //Aufgabe6a, Stammbaum erzeugen
    stammbaum.setItem("Lina");
    stammbaum.setLeft(new BinTree("Mama Rosi"));
      
  } // end of public StammbaumApp
  
  // Anfang Methoden
  
  public static void main(String[] args) {
    new StammbaumApp();
     
  } // end of main
  
  //Aufgabe 6c, rekursive Implementierung der verschiedenen Traversierungen
  //Die Implementierung erfolgt als Methode, die beim Klick auf den jeweiligen Button für den stammbaum ausgeführt wird
  public void bInorder_ActionPerformed(ActionEvent evt) {
   
  } 
    
  public void bPreorder_ActionPerformed(ActionEvent evt) {
   
  }
      
  public void bPostorder_ActionPerformed(ActionEvent evt) {
    
  }
       
  public void bLevelorder_ActionPerformed(ActionEvent evt) {
   
  } 
  
 
 
  // Ende Methoden
} // end of class StammbaumApp
