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()
{
}
}