Hilfe für Listener, bitte

Hallo,

ich habe ein Applet programmiert, bzw. es versucht. Ich habe erst mit dem AWT versucht. Da ging es dann habe ich auf Swing umgestellt. Es sieht zwar anders aus aber die Funktionen funktionieren nicht mehr. Und außerdem habe ich Probleme mit den Listenern.
Ich weiß da ist jetzt viel falsch, aber könnte es mir bitte jemand erklären.

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.lang.*;
import java.util.*;
import javax.swing.*;
public class JUNGE extends JApplet implements MouseListener, MouseMotionListener, ActionListener, ItemListener
{
  Graphics zeichenbereich;
  
  int last_x=0;
  int last_y=0;
  
  Color zeichenfarbe=Color.black;
  String zeichenobjekt="Freihand";
  
  public void init()
  {
    try 
    {
      String Design1=UIManager.getSystemLookAndFeelClassName();
      String Design2=UIManager.getCrossPlatformLookAndFeelClassName();
      String Design3="com.sun.java.swing.plaf.motif.MotifLookAndFeel";
      UIManager.setLookAndFeel(Design1);
    }
    catch (Exception e)
    {
      // Fehlermeldung
    }
    
    addMouseListener(this);
    addMouseMotionListener(this);
    addActionListener(this);
    addItemListener(this);
    //addWindowListener(this);
    //addKeyListener(this);
    
    Container content=getContentPane();
    
    BorderLayout Layout1=new BorderLayout();
    setLayout (Layout1);
    
    Font Schrift1spezial=new Font ("SansSerif", Font.BOLD|Font.ITALIC,20);
    Font Schrift1normal=new Font ("SansSerif", Font.PLAIN,15);
    Font Schrift1formel=new Font ("SansSerif", Font.BOLD|Font.ITALIC,15);
    Font Schrift2spezial=new Font ("Serif", Font.BOLD|Font.ITALIC,20);
    Font Schrift2normal=new Font ("Serif", Font.PLAIN,20);
    Font Schrift3spezial=new Font ("Monospaced", Font.BOLD|Font.ITALIC,20);
    Font Schrift3normal=new Font ("Monospaced", Font.PLAIN,20);
    Font Schrift4spezial=new Font ("Dialog", Font.BOLD|Font.ITALIC,20);
    Font Schrift4normal=new Font ("Dialog", Font.PLAIN,20);
    Font Schrift5spezial=new Font ("ZapfDingbats", Font.BOLD|Font.ITALIC,20);
    Font Schrift5normal=new Font ("ZapfDingbats", Font.PLAIN,20); 
    
    JLabel Überschrift=new JLabel ("Mal-Applet", JLabel.CENTER);
    content=getContentPane();
    content.add(Überschrift, BorderLayout.NORTH);
    Überschrift.setForeground (Color.green);
    Überschrift.setBackground (Color.blue);
    Überschrift.setFont (Schrift1spezial);
    
    JPanel Zusammenfassung1=new JPanel();
    content=getContentPane();
    GridLayout Layout2=new GridLayout(14,1);
    Zusammenfassung1.setLayout (Layout2);
    Zusammenfassung1.setBackground(Color.gray);
    content.add(Zusammenfassung1, BorderLayout.WEST);
    Zusammenfassung1.add(this);
    Zusammenfassung1.addActionListener(this);
    Zusammenfassung1.addItemListener(this);
    
    JLabel Text1=new JLabel("Zeichenfarbe:");
    content=getContentPane();
    Text1.setBackground (Color.gray);
    Text1.setForeground (Color.black);
    Text1.setFont (Schrift1normal);
    Text1.setBackground(Color.gray);
    Zusammenfassung1.add(Text1);
    
    JComboBox Farbauswahl=new JComboBox();
    content=getContentPane();
    Farbauswahl.addItem ("schwarz");
    Farbauswahl.addItem ("blau");
    Farbauswahl.addItem ("rot");
    Farbauswahl.addItem ("gelb");
    Farbauswahl.addItem ("grün");
    Farbauswahl.addItem ("grau");
    Farbauswahl.addItem ("hellgrau");
    Farbauswahl.addItem ("dunkelgrau");
    Farbauswahl.addItem ("turkis");
    Farbauswahl.addItem ("lila");
    Farbauswahl.addItem ("orange");
    Farbauswahl.addItem ("pink");
    Farbauswahl.addItem ("weiß");
    Farbauswahl.setBackground (Color.lightGray);
    Farbauswahl.setForeground (Color.black);
    Zusammenfassung1.add(Farbauswahl);
    // Ende Farbauswahlbox
    
    JLabel Lückenfüller1=new JLabel(" ");
    content=getContentPane();
    Lückenfüller1.setBackground(Color.lightGray);
    Zusammenfassung1.add(Lückenfüller1);
    
    JLabel Text2=new JLabel("Hintergrundfarbe:");
    content=getContentPane();
    Text2.setBackground (Color.gray);
    Text2.setForeground (Color.black);
    Text2.setFont (Schrift1normal);
    Text2.setBackground(Color.gray);
    Zusammenfassung1.add(Text2);
    
    JComboBox Hintergründe=new JComboBox();
    content=getContentPane();
    Hintergründe.addItem ("Schwarz");
    Hintergründe.addItem ("Grau");
    Hintergründe.addItem ("Rot");
    Hintergründe.addItem ("Blau");
    Hintergründe.addItem ("Grün");
    Hintergründe.addItem ("Gelb");
    Hintergründe.addItem ("Lila");
    Hintergründe.addItem ("Pink");
    Hintergründe.addItem ("Orange");
    Hintergründe.addItem ("Türkis");
    Hintergründe.addItem ("Weiß");
    Hintergründe.setBackground (Color.lightGray);
    Hintergründe.setForeground (Color.black);
    Zusammenfassung1.add (Hintergründe);
    // Ende Hintergründeauswahlbox
    
    JLabel Lückenfüller2=new JLabel(" ");
    content=getContentPane();
    Lückenfüller2.setBackground(Color.lightGray);
    Zusammenfassung1.add(Lückenfüller2);
    
    JLabel Text3=new JLabel("Zeichenform:");
    content=getContentPane();
    Text3.setBackground (Color.gray);
    Text3.setForeground (Color.black);
    Text3.setFont (Schrift1normal);
    Text3.setBackground(Color.gray);
    Zusammenfassung1.add(Text3);
    
    JComboBox Zeichenformen=new JComboBox();
    content=getContentPane();
    Zeichenformen.addItem ("Freihand");
    Zeichenformen.addItem ("Linie");
    Zeichenformen.addItem ("Rechteck");
    Zeichenformen.addItem ("Oval");
    Zeichenformen.addItem ("gefülltes Rechteck");
    Zeichenformen.addItem ("gefülltes Oval");
    Zeichenformen.addItem ("Textfeld");
    Zeichenformen.setBackground (Color.lightGray);
    Zeichenformen.setForeground (Color.black);
    Zusammenfassung1.add(Zeichenformen);
    // Ende Zeichenformenauswahlbox
    
    JLabel Lückenfüller3=new JLabel(" ");
    Lückenfüller3.setBackground(Color.lightGray);
    Zusammenfassung1.add(Lückenfüller3);
    
    JButton ClearButton=new JButton("Löschen");
    content=getContentPane();
    Zusammenfassung1.add(ClearButton);
    ClearButton.setSize (50,50);
    //Ende Buttondefinition
    
    JLabel Lückenfüller4=new JLabel(" ");
    content=getContentPane();
    Lückenfüller4.setBackground(Color.lightGray);
    Zusammenfassung1.add(Lückenfüller4);
    
    JLabel Text4_1=new JLabel("Malprogramm by F.W.");
    content=getContentPane();
    Text4_1.setBackground (Color.gray);
    Text4_1.setForeground (Color.black);
    Text4_1.setFont (Schrift1formel);
    Text4_1.setBackground(Color.gray);
    Zusammenfassung1.add(Text4_1);
    
    JLabel Text4_2=new JLabel("FlixPrix");
    content=getContentPane();
    Text4_2.setBackground (Color.gray);
    Text4_2.setForeground (Color.black);
    Text4_2.setFont (Schrift1formel);
    Text4_2.setBackground(Color.gray);
    Zusammenfassung1.add(Text4_2);
    
    JLabel Text4_3=new JLabel("© Alle Rechte vorbehalten");
    content=getContentPane();
    Text4_3.setBackground (Color.gray);
    Text4_3.setForeground (Color.black);
    Text4_3.setFont (Schrift1formel);
    Text4_3.setBackground(Color.gray);
    Zusammenfassung1.add(Text4_3);
    
    setBackground(Color.lightGray);
    setForeground(Color.black);
  }
  
  public void actionPerformed(ActionEvent evt)    
  {
    if (evt.getSource instanceof JButton) 
    {
      String Knopf=evt.getActionCommand();
      if (Knopf=="Löschen")
      {
        Graphics g=this.getGraphics();
        g.fillRect(0,0,2000,1000); 
      }
    }
  }
  
  public void itemStateChanged (ItemEvent evt)
  {
    if (evt.getSource() instanceof JComboBox)
    {
      String Eintrag=evt.getItem().toString();
      if (Eintrag=="schwarz")
      {           
        zeichenfarbe=Color.black;
      }
      if (Eintrag=="blau") 
      {
        zeichenfarbe=Color.blue;
      }
      if (Eintrag=="rot") 
      {
        zeichenfarbe=Color.red;
      }
      if (Eintrag=="gelb") 
      {
        zeichenfarbe=Color.yellow;
      }
      if (Eintrag=="grün")
      {
        zeichenfarbe=Color.green;
      }
      if (Eintrag=="grau") 
      {
        zeichenfarbe=Color.gray;
      }
      if (Eintrag=="hellgrau") 
      {
        zeichenfarbe=Color.lightGray;
      }
      if (Eintrag=="dunkelgrau") 
      {
        zeichenfarbe=Color.darkGray;
      }
      if (Eintrag=="turkis") 
      {
        zeichenfarbe=Color.cyan;
      }
      if (Eintrag=="lila") 
      {
        zeichenfarbe=Color.magenta;
      }
      if (Eintrag=="orange") 
      {
        zeichenfarbe=Color.orange;
      }
      if (Eintrag=="pink") 
      {
        zeichenfarbe=Color.pink;
      }
      if (Eintrag=="weiß") 
      {
        zeichenfarbe=Color.white;
      }
    }
    
    if (evt.getSource() instanceof JComboBox)
    {
      String Eintrag=evt.getItem().toString();
      if (Eintrag=="Schwarz") 
      {
        setBackground(Color.black);
      }
      if (Eintrag=="Grau") 
      {
        setBackground(Color.gray);
      }
      if (Eintrag=="Rot") 
      {
        setBackground(Color.red);
      }
      if (Eintrag=="Blau") 
      {
        setBackground(Color.blue);
      }
      if (Eintrag=="Grün") 
      {
        setBackground(Color.green);
      }
      if (Eintrag=="Gelb") 
      {
        setBackground(Color.yellow);
      }
      if (Eintrag=="Lila") 
      {
        setBackground(Color.magenta);
      }
      if (Eintrag=="Pink") 
      {
        setBackground(Color.pink);
      }
      if (Eintrag=="Orange") 
      {
        setBackground(Color.orange);
      } 
      if (Eintrag=="Türkis") 
      {
        setBackground(Color.cyan);
      }
      if (Eintrag=="Weiß") 
      {
        setBackground(Color.white);
      } 
    }
    
    if (evt.getSource() instanceof JComboBox)
    {
      String Eintrag=evt.getItem().toString();
      if (Eintrag=="Freihand") 
      {
        zeichenobjekt="Freihand";
      }
      if (Eintrag=="Linie") 
      {
        zeichenobjekt="Linie";
      }
      if (Eintrag=="Rechteck") 
      {
        zeichenobjekt="Rechteck";
      }
      if (Eintrag=="Oval") 
      {
        zeichenobjekt="Oval";
      }
      if (Eintrag=="gefülltes Rechteck") 
      {
        zeichenobjekt="gefülltes Rechteck";
      }
      if (Eintrag=="gefülltes Oval") 
      {
        zeichenobjekt="gefülltes Oval";
      }
    }
    
  }
  
  public void mousePressed(Event theEvent, int x, int y)
  { 
    last_x=x;
    last_y=y;
  }
  
  public void mouseDragged(MouseEvent evt)
  {
    int x=evt.getX();
    int y=evt.getY();
    
    zeichenbereich=getGraphics();
    zeichenbereich.setColor(zeichenfarbe);
    Zeichnen1(x,y);
  }
  
  public void Zeichnen1(int x,int y)
  {
    if (zeichenobjekt=="Freihand") 
    {
      zeichenbereich.drawLine(last_x,last_y,x,y);
      last_x=x;
      last_y=y;
    } 
    if (zeichenobjekt=="Linie") 
    {
      zeichenbereich.drawLine(last_x,last_y,x,y);
    }
  }
  
  public void mouseReleased(MouseEvent theEvent, int x, int y)
  {
    zeichenbereich=getGraphics();
    zeichenbereich.setColor(zeichenfarbe);
    Zeichnen2(x,y);
  }
  
  public void Zeichnen2(int x,int y)
  {
    if (zeichenobjekt=="Rechteck") 
    {
      zeichenbereich.drawRect(last_x,last_y,x-last_x,y-last_y);
    }
    if (zeichenobjekt=="Oval") 
    {
      zeichenbereich.drawOval(last_x,last_y,x-last_x,y-last_y);
    }
    if (zeichenobjekt=="gefülltes Rechteck") 
    {
      zeichenbereich.fillRect(last_x,last_y,x-last_x,y-last_y);
    }
    if (zeichenobjekt=="gefülltes Oval") 
    {
      zeichenbereich.fillOval(last_x,last_y,x-last_x,y-last_y);
    }
  }
  
  public void mouseEntered(MouseEvent evt)
  {
    showStatus(" Zeichenwerkzeug: "+zeichenobjekt+" - Zeichenfarbe: "+zeichenfarbe+" "); 
  }
  
  public void mouseExited(MouseEvent evt)
  {
    showStatus(" ");
  }
  
  public void mouseClicked()
  {
  }
  public void mousePressed()
  {
  }
}

[QUOTE=Unregistriert]
Ich weiß da ist jetzt viel falsch, aber könnte es mir bitte jemand erklären.[/QUOTE]

Was genau funktioniert nicht?
Kein Mensch hat Zeit, sich 500 Zeilen Code anzusehen und zu beurteilen.
Schränk’ deine Frage etwas ein und den Code, der nicht ‘funktioniert’.
Fehlermeldungen, e.t.c.

Ja stimmt tut mir leid!

Also der Compiler:

Note: JUNGE.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Ich kann nicht mehr zeichnen das ist das Problem seit ich Swing und die Listener benutze! Da wollt ich wissen was ich falsch gemacht habe…

also ich habs nur überflogen, aber Strings werden NICHT MIT == VERGLICHEN sondern mit equals

und deine Eventmethoden sind mehr als komisch


  {

    if (evt.getSource() instanceof JComboBox)
    if (evt.getSource() instanceof JComboBox)

    if (evt.getSource() instanceof JComboBox)

  }```

Woher erkennst du den Unterschied zwischen den Comboboxen?


Geh einfach mitm Debugger rein und guck nach was passiert,  bzw. mach dir Ausgaben rein  damit du  siehst was los ist

Das berühmt-berüchtigte “getGraphics” dürfte auch damit zu tun haben. (Vielleicht ging’s bei AWT noch weil’s da kein DoubleBuffering gibt, ist aber nur ein Gedanke). Ich sollte mir wohl http://wiki.byte-welt.net/wiki/Malen_in_Swing_Teil_1:_der_grundlegende_Mechanismus in die Signatur packen…

Ok, vielen Dank!

Fehlermeldungen:

public class JUNGE extends JApplet implements MouseListener, MouseMotionListener, ActionListener, ItemListener

       ^
JUNGE.java:35:5: error: cannot find symbol
    addActionListener(this);
       ^
  symbol:   method addActionListener(JUNGE)
  location: class JUNGE


JUNGE.java:36:5: error: cannot find symbol
    addItemListener(this);
    ^
  symbol:   method addItemListener(JUNGE)
  location: class JUNGE


JUNGE.java:71:21: error: cannot find symbol
    Zusammenfassung1.addActionListener(this);
                    ^
  symbol:   method addActionListener(JUNGE)
  location: variable Zusammenfassung1 of type JPanel


JUNGE.java:72:21: error: cannot find symbol
    Zusammenfassung1.addItemListener(this);
                    ^
  symbol:   method addItemListener(JUNGE)
  location: variable Zusammenfassung1 of type JPanel
Note: JUNGE.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
5 errors

Ich habe jetzt .equals() benutzt.
getGraphics() mache ich dann nachher noch weg.
Allerdings habe ich etwas mit den Listenern falsch gemacht irgendwie nicht richtig geaddet oder?
Irgendwie kann ich JPanel nicht zum ActionListener und ItemListener zufügen oder muss ich jedes einzelne Objekt den Listenern hinzufügen?

Ja, nichts gegen bestimmte Grundlagenfragen und so, aber ausgehend von http://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html und den Fehlermeldungen sollte man sich doch erschließen können, dass es nicht

public void mousePressed(Event theEvent, int x, int y)
sondern

public void mousePressed(MouseEvent theEvent)
heißen muss (bei einigen anderen Methoden ähnlich). Die x und y bekommt man mit theEvent.getX() / theEvent.getY()…

Also wäre das dann ansatzweise richtig?

public void mousePressed(MouseEvent theEvent)
  { 
    int x=evt.getX();
    int y=evt.getY();
    
    last_x=x;
    last_y=y;
  }
  
  public void mouseDragged(MouseEvent theEvent)
  {
    int x=evt.getX();
    int y=evt.getY();
    
    zeichenbereich=getGraphics();
    zeichenbereich.setColor(zeichenfarbe);
    Zeichnen1(x,y);
  }
  
  public void Zeichnen1(int x, int y)
  {
    
    if (zeichenobjekt=="Freihand") 
    {
      zeichenbereich.drawLine(last_x,last_y,x,y);
      last_x=x;
      last_y=y;
    } 
    if (zeichenobjekt=="Linie") 
    {
      zeichenbereich.drawLine(last_x,last_y,x,y);
    }
  }
  
  public void mouseReleased(MouseEvent theEvent)
  {
    zeichenbereich=getGraphics();
    zeichenbereich.setColor(zeichenfarbe);
    Zeichnen2(x,y);
  }
  
  public void Zeichnen2(int x,int y)
  {
    if (zeichenobjekt=="Rechteck") 
    {
      zeichenbereich.drawRect(last_x,last_y,x-last_x,y-last_y);
    }
    if (zeichenobjekt=="Oval") 
    {
      zeichenbereich.drawOval(last_x,last_y,x-last_x,y-last_y);
    }
    if (zeichenobjekt=="gefülltes Rechteck") 
    {
      zeichenbereich.fillRect(last_x,last_y,x-last_x,y-last_y);
    }
    if (zeichenobjekt=="gefülltes Oval") 
    {
      zeichenbereich.fillOval(last_x,last_y,x-last_x,y-last_y);
    }
  }
  
  public void mouseEntered(MouseEvent evt)
  {
    showStatus(" Zeichenwerkzeug: "+zeichenobjekt+" - Zeichenfarbe: "+zeichenfarbe+" "); 
  }
  
  public void mouseExited(MouseEvent evt)
  {
    showStatus(" ");
  }
  
  public void mouseClicked()
  {
  }
  public void mousePressed()
  {
  }
  public void mouseMoved()
  {
  }
}

Und wie mache ich es dann in Zeichnen1 und Zeichnen2? :frowning:

ich weiß ich frag euch da jetzt ganz schön dumm, aber irgendwie blicke ich derzeit nicht durch…

Ohne jetzt was ungerechtfertigt unterstellen zu wollen: Ich vermute, das ist eine Hausaufgabe, und du hast keine Lust drauf, und versuchst, das möglichst schnell und einfach hinzukriegen. Richtig?

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.net.*;
import java.io.*;
import java.lang.*;
import java.util.*;
import javax.swing.*;



public class JUNGE extends JApplet implements MouseListener, MouseMotionListener, ActionListener, ItemListener
{
	class ImagePanel extends JPanel
	{
		@Override
		protected void paintComponent(Graphics g) 
		{
			super.paintComponent(g);
			g.drawImage(image, 0, 0, this);
		}
	}
	BufferedImage image;

	int last_x=0;
	int last_y=0;

	JComboBox Farbauswahl;
	JComboBox Hintergründe;
	JComboBox Zeichenformen;
		
	Color zeichenfarbe=Color.black;
	String zeichenobjekt="Freihand";

	public void init()
	{
		try
		{
			String Design1=UIManager.getSystemLookAndFeelClassName();
			String Design2=UIManager.getCrossPlatformLookAndFeelClassName();
			String Design3="com.sun.java.swing.plaf.motif.MotifLookAndFeel";
			UIManager.setLookAndFeel(Design1);
		}
		catch (Exception e)
		{
			// Fehlermeldung
		}

		Container content=getContentPane();

		BorderLayout Layout1=new BorderLayout();
		setLayout (Layout1);

		Font Schrift1spezial=new Font ("SansSerif", Font.BOLD|Font.ITALIC,20);
		Font Schrift1normal=new Font ("SansSerif", Font.PLAIN,15);
		Font Schrift1formel=new Font ("SansSerif", Font.BOLD|Font.ITALIC,15);
		Font Schrift2spezial=new Font ("Serif", Font.BOLD|Font.ITALIC,20);
		Font Schrift2normal=new Font ("Serif", Font.PLAIN,20);
		Font Schrift3spezial=new Font ("Monospaced", Font.BOLD|Font.ITALIC,20);
		Font Schrift3normal=new Font ("Monospaced", Font.PLAIN,20);
		Font Schrift4spezial=new Font ("Dialog", Font.BOLD|Font.ITALIC,20);
		Font Schrift4normal=new Font ("Dialog", Font.PLAIN,20);
		Font Schrift5spezial=new Font ("ZapfDingbats", Font.BOLD|Font.ITALIC,20);
		Font Schrift5normal=new Font ("ZapfDingbats", Font.PLAIN,20);

		JLabel Überschrift=new JLabel ("Mal-Applet", JLabel.CENTER);
		content=getContentPane();
		content.add(Überschrift, BorderLayout.NORTH);
		Überschrift.setForeground (Color.green);
		Überschrift.setBackground (Color.blue);
		Überschrift.setFont (Schrift1spezial);

		JPanel Zusammenfassung1=new JPanel();
		content=getContentPane();
		GridLayout Layout2=new GridLayout(14,1);
		Zusammenfassung1.setLayout (Layout2);
		Zusammenfassung1.setBackground(Color.gray);
		content.add(Zusammenfassung1, BorderLayout.WEST);
		//Zusammenfassung1.add(this);
		//add(Zusammenfassung1);
		//Zusammenfassung1.addActionListener(this);
		//Zusammenfassung1.addItemListener(this);

		JLabel Text1=new JLabel("Zeichenfarbe:");
		content=getContentPane();
		Text1.setBackground (Color.gray);
		Text1.setForeground (Color.black);
		Text1.setFont (Schrift1normal);
		Text1.setBackground(Color.gray);
		Zusammenfassung1.add(Text1);

		Farbauswahl=new JComboBox();
		content=getContentPane();
		Farbauswahl.addItem ("schwarz");
		Farbauswahl.addItem ("blau");
		Farbauswahl.addItem ("rot");
		Farbauswahl.addItem ("gelb");
		Farbauswahl.addItem ("grün");
		Farbauswahl.addItem ("grau");
		Farbauswahl.addItem ("hellgrau");
		Farbauswahl.addItem ("dunkelgrau");
		Farbauswahl.addItem ("turkis");
		Farbauswahl.addItem ("lila");
		Farbauswahl.addItem ("orange");
		Farbauswahl.addItem ("pink");
		Farbauswahl.addItem ("weiß");
		Farbauswahl.setBackground (Color.lightGray);
		Farbauswahl.setForeground (Color.black);
		Zusammenfassung1.add(Farbauswahl);
		Farbauswahl.addItemListener(this);
		// Ende Farbauswahlbox

		JLabel Lückenfüller1=new JLabel(" ");
		content=getContentPane();
		Lückenfüller1.setBackground(Color.lightGray);
		Zusammenfassung1.add(Lückenfüller1);

		JLabel Text2=new JLabel("Hintergrundfarbe:");
		content=getContentPane();
		Text2.setBackground (Color.gray);
		Text2.setForeground (Color.black);
		Text2.setFont (Schrift1normal);
		Text2.setBackground(Color.gray);
		Zusammenfassung1.add(Text2);

		Hintergründe=new JComboBox();
		content=getContentPane();
		Hintergründe.addItem ("Schwarz");
		Hintergründe.addItem ("Grau");
		Hintergründe.addItem ("Rot");
		Hintergründe.addItem ("Blau");
		Hintergründe.addItem ("Grün");
		Hintergründe.addItem ("Gelb");
		Hintergründe.addItem ("Lila");
		Hintergründe.addItem ("Pink");
		Hintergründe.addItem ("Orange");
		Hintergründe.addItem ("Türkis");
		Hintergründe.addItem ("Weiß");
		Hintergründe.setBackground (Color.lightGray);
		Hintergründe.setForeground (Color.black);
		Zusammenfassung1.add (Hintergründe);
		Hintergründe.addItemListener(this);
		// Ende Hintergründeauswahlbox

		JLabel Lückenfüller2=new JLabel(" ");
		content=getContentPane();
		Lückenfüller2.setBackground(Color.lightGray);
		Zusammenfassung1.add(Lückenfüller2);

		JLabel Text3=new JLabel("Zeichenform:");
		content=getContentPane();
		Text3.setBackground (Color.gray);
		Text3.setForeground (Color.black);
		Text3.setFont (Schrift1normal);
		Text3.setBackground(Color.gray);
		Zusammenfassung1.add(Text3);

		Zeichenformen=new JComboBox();
		content=getContentPane();
		Zeichenformen.addItem ("Freihand");
		Zeichenformen.addItem ("Linie");
		Zeichenformen.addItem ("Rechteck");
		Zeichenformen.addItem ("Oval");
		Zeichenformen.addItem ("gefülltes Rechteck");
		Zeichenformen.addItem ("gefülltes Oval");
		Zeichenformen.addItem ("Textfeld");
		Zeichenformen.setBackground (Color.lightGray);
		Zeichenformen.setForeground (Color.black);
		Zusammenfassung1.add(Zeichenformen);
		Zeichenformen.addItemListener(this);
		// Ende Zeichenformenauswahlbox

		JLabel Lückenfüller3=new JLabel(" ");
		Lückenfüller3.setBackground(Color.lightGray);
		Zusammenfassung1.add(Lückenfüller3);

		JButton ClearButton=new JButton("Löschen");
		content=getContentPane();
		Zusammenfassung1.add(ClearButton);
		ClearButton.setSize (50,50);
		//Ende Buttondefinition

		JLabel Lückenfüller4=new JLabel(" ");
		content=getContentPane();
		Lückenfüller4.setBackground(Color.lightGray);
		Zusammenfassung1.add(Lückenfüller4);

		JLabel Text4_1=new JLabel("Malprogramm by F.W.");
		content=getContentPane();
		Text4_1.setBackground (Color.gray);
		Text4_1.setForeground (Color.black);
		Text4_1.setFont (Schrift1formel);
		Text4_1.setBackground(Color.gray);
		Zusammenfassung1.add(Text4_1);

		JLabel Text4_2=new JLabel("FlixPrix");
		content=getContentPane();
		Text4_2.setBackground (Color.gray);
		Text4_2.setForeground (Color.black);
		Text4_2.setFont (Schrift1formel);
		Text4_2.setBackground(Color.gray);
		Zusammenfassung1.add(Text4_2);

		JLabel Text4_3=new JLabel("© Alle Rechte vorbehalten");
		content=getContentPane();
		Text4_3.setBackground (Color.gray);
		Text4_3.setForeground (Color.black);
		Text4_3.setFont (Schrift1formel);
		Text4_3.setBackground(Color.gray);
		Zusammenfassung1.add(Text4_3);

		setBackground(Color.lightGray);
		setForeground(Color.black);
		
		image = new BufferedImage(1000,1000, BufferedImage.TYPE_INT_ARGB);
		ImagePanel imagePanel = new ImagePanel();
		content.add(imagePanel, BorderLayout.CENTER);
		imagePanel.addMouseListener(this);
		imagePanel.addMouseMotionListener(this);
	}

	public void actionPerformed(ActionEvent evt)    
	{
		if (evt.getSource() instanceof JButton)
		{
			String Knopf=evt.getActionCommand();
			if (Knopf.equals("Löschen"))
			{
				Graphics g=this.getGraphics();
				g.fillRect(0,0,2000,1000);
			}
		}
	}

	public void itemStateChanged (ItemEvent evt)
	{
		if (evt.getSource() == Farbauswahl)
		{
			String Eintrag=evt.getItem().toString();
			if (Eintrag.equals("schwarz"))
			{          
				zeichenfarbe=Color.black;
			}
			if (Eintrag.equals("blau"))
			{
				zeichenfarbe=Color.blue;
			}
			if (Eintrag.equals("rot"))
			{
				zeichenfarbe=Color.red;
			}
			if (Eintrag.equals("gelb"))
			{
				zeichenfarbe=Color.yellow;
			}
			if (Eintrag.equals("grün"))
			{
				zeichenfarbe=Color.green;
			}
			if (Eintrag.equals("grau"))
			{
				zeichenfarbe=Color.gray;
			}
			if (Eintrag.equals("hellgrau"))
			{
				zeichenfarbe=Color.lightGray;
			}
			if (Eintrag.equals("dunkelgrau"))
			{
				zeichenfarbe=Color.darkGray;
			}
			if (Eintrag.equals("turkis"))
			{
				zeichenfarbe=Color.cyan;
			}
			if (Eintrag.equals("lila"))
			{
				zeichenfarbe=Color.magenta;
			}
			if (Eintrag.equals("orange"))
			{
				zeichenfarbe=Color.orange;
			}
			if (Eintrag.equals("pink"))
			{
				zeichenfarbe=Color.pink;
			}
			if (Eintrag.equals("weiß"))
			{
				zeichenfarbe=Color.white;
			}
		}

		if (evt.getSource() == Hintergründe )
		{
			String Eintrag=evt.getItem().toString();
			if (Eintrag.equals("Schwarz"))
			{
				setBackground(Color.black);
			}
			if (Eintrag.equals("Grau"))
			{
				setBackground(Color.gray);
			}
			if (Eintrag.equals("Rot"))
			{
				setBackground(Color.red);
			}
			if (Eintrag.equals("Blau"))
			{
				setBackground(Color.blue);
			}
			if (Eintrag.equals("Grün"))
			{
				setBackground(Color.green);
			}
			if (Eintrag.equals("Gelb"))
			{
				setBackground(Color.yellow);
			}
			if (Eintrag.equals("Lila"))
			{
				setBackground(Color.magenta);
			}
			if (Eintrag.equals("Pink"))
			{
				setBackground(Color.pink);
			}
			if (Eintrag.equals("Orange"))
			{
				setBackground(Color.orange);
			}
			if (Eintrag.equals("Türkis"))
			{
				setBackground(Color.cyan);
			}
			if (Eintrag.equals("Weiß"))
			{
				setBackground(Color.white);
			}
		}

		if (evt.getSource() == Zeichenformen)
		{
			String Eintrag=evt.getItem().toString();
			if (Eintrag.equals("Freihand"))
			{
				zeichenobjekt="Freihand";
			}
			if (Eintrag.equals("Linie"))
			{
				zeichenobjekt="Linie";
			}
			if (Eintrag.equals("Rechteck"))
			{
				zeichenobjekt="Rechteck";
			}
			if (Eintrag.equals("Oval"))
			{
				zeichenobjekt="Oval";
			}
			if (Eintrag.equals("gefülltes Rechteck"))
			{
				zeichenobjekt="gefülltes Rechteck";
			}
			if (Eintrag.equals("gefülltes Oval"))
			{
				zeichenobjekt="gefülltes Oval";
			}
		}

	}

	public void mousePressed(MouseEvent theEvent)
	{
		last_x = theEvent.getX();
		last_y = theEvent.getY();
	}

	public void mouseDragged(MouseEvent evt)
	{
		int x=evt.getX();
		int y=evt.getY();

		Graphics zeichenbereich=image.getGraphics();
		zeichenbereich.setColor(zeichenfarbe);
		Zeichnen1(x,y);
		repaint();
	}

	public void Zeichnen1(int x,int y)
	{
		if (zeichenobjekt.equals("Freihand"))
		{
			Graphics zeichenbereich=image.getGraphics();
			zeichenbereich.setColor(zeichenfarbe);
			zeichenbereich.drawLine(last_x,last_y,x,y);
			last_x=x;
			last_y=y;
		}
		if (zeichenobjekt.equals("Linie"))
		{
			Graphics zeichenbereich=image.getGraphics();
			zeichenbereich.setColor(zeichenfarbe);
			zeichenbereich.drawLine(last_x,last_y,x,y);
		}
	}

	public void mouseReleased(MouseEvent theEvent)
	{
		Graphics zeichenbereich=image.getGraphics();
		zeichenbereich=getGraphics();
		zeichenbereich.setColor(zeichenfarbe);
		Zeichnen2(theEvent.getX(), theEvent.getY());
		last_x = theEvent.getX();
		last_y = theEvent.getY();
	}

	public void Zeichnen2(int x,int y)
	{
		Graphics zeichenbereich=image.getGraphics();
		if (zeichenobjekt.equals("Rechteck"))
		{
			zeichenbereich.drawRect(last_x,last_y,x-last_x,y-last_y);
		}
		if (zeichenobjekt.equals("Oval"))
		{
			zeichenbereich.drawOval(last_x,last_y,x-last_x,y-last_y);
		}
		if (zeichenobjekt.equals("gefülltes Rechteck"))
		{
			zeichenbereich.fillRect(last_x,last_y,x-last_x,y-last_y);
		}
		if (zeichenobjekt.equals("gefülltes Oval"))
		{
			zeichenbereich.fillOval(last_x,last_y,x-last_x,y-last_y);
		}
	}

	public void mouseEntered(MouseEvent evt)
	{
		showStatus(" Zeichenwerkzeug: "+zeichenobjekt+" - Zeichenfarbe: "+zeichenfarbe+" ");
		repaint();
	}

	public void mouseExited(MouseEvent evt)
	{
		showStatus(" ");
		repaint();
	}

	@Override
	public void mouseMoved(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseClicked(MouseEvent e) {
		// TODO Auto-generated method stub

	}


}```

Vielen Dank, es funktioniert jetzt!

ES WAR KEINE HAUSAUFGABE!