# "extends Frame" weglassen und wodurch ersetzen?



## Mystify (4. Jan 2006)

Hi,

ich habe ein Problem mit meinem Code und hoffe, dass mir hier geholfen werden kann. 

Um mein Applet in einem Fenster starten zu können (also im Compiler über "Starten"), implementiere ich die Klasse "Frame" wie folgt:

```
public class kalender extends Frame implements ActionListener
	{ [...]
```

Nun implementiere ich dort jetzt aber schon eine andere Klasse, nämlich "wochentag":

```
public class kalender extends wochentag implements ActionListener
	{ [...]
```

Jetzt ist also mein Problem, dass er nachher die Befehle

```
addWindowListener(new FensterLauscher());
		pack();
		resize(800, 600);
		setLayout(new FlowLayout());
		show();
```
nicht mehr kennt (cannot find symbol).

*Kann ich "Frame" irgendwie anders implementieren? Oder muss ich "wochentag" anders implementieren? Oder kann ich sogar beide gleichzeitig implementieren?*...Bin total verwirrt und weiß nicht mehr weiter 

Vielen Dank im Voraus für die Hilfe!  

-----------

Als Anhang Teile des kompletten Codes:


```
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.lang.Math;
import java.lang.Number;


public class kalender extends wochentag implements ActionListener
	{

	[...]

public kalender()
	{

		[...]

		addWindowListener(new FensterLauscher());
		pack();
		resize(800, 600);
		setLayout(new FlowLayout());
		show();
		
	}


public void actionPerformed(ActionEvent ereignis)
	{

		[...]	
	
	}


class FensterLauscher extends WindowAdapter {
	public void windowClosing(WindowEvent e) {
		System.exit(0);
	}
	}

	public static void main(String[] args) {
	new kalender();
	}  
}
```


----------



## André Uhres (4. Jan 2006)

```
private Frame f;
    public kalender(){
        ...
        f = new Frame("Kalender");
        f.addWindowListener(new FensterLauscher());
        f.setSize(800, 600);
        f.setLayout(new FlowLayout());
        ...
        f.setVisible(true);
    }
```


----------



## Mystify (4. Jan 2006)

Vielen Dank für deine Antwort! 

Wie adde ich darauf jetzt meine Objekte?
Normalerweise mache ich das ja mit:

```
add("North", bereich1);
[...]
```

Ich habe schon 

```
f.add("North", bereich1);
[...]
```
versucht, aber das geht nicht. 


-----
Anhang: kompletter Code


```
public kalender()
	{
		
		add("North", bereich0);
		bereich0.setLayout(new GridLayout(1,3,10,10));		
		bereich0.add(l1); 
		bereich0.add(t1);
		b1.addActionListener(this); 
		bereich0.add(b1);
		
		add("Center", bereich1);
		bereich1.setLayout(new GridLayout(1,1,10,10));
		bereich1.add(januar);
		bereich1.setBackground(Color.blue);
		
		add("South", bereich2);
		bereich2.setLayout(new GridLayout(7,7,10,10));

		bereich2.add(montag);
		bereich2.add(dienstag);
		bereich2.add(mittwoch);
		bereich2.add(donnerstag);
		bereich2.add(freitag);
		bereich2.add(samstag);
		bereich2.add(sonntag);
		
                f = new Frame("Kalender");
                f.addWindowListener(new FensterLauscher());
                f.setSize(800, 600);
                f.setLayout(new FlowLayout());
                f.setVisible(true);
		
	}
```


----------



## André Uhres (4. Jan 2006)

Da du FlowLayout hast gehts einfach mit f.add(bereich1);


----------



## SlaterB (4. Jan 2006)

natürlich müssen die f.add()-Aufrufe HINTER f = new Frame("Kalender");  stehen


----------

