Hallo habe folgendes kleines Programm geschrieben.
Jetzt hätte ich gerne das nach den entsprechenden Buttons folgendes geschieht:
löschen = Zeichenfeld soll gelöscht werden
Oval zeichnen = ein Oval soll gezeichnet werden usw.
Ich habe aber leider keine wirklich Idee wie ich das machen soll. Hab es mit g.drawRect (10, 20, 10, 30);
versucht, aber da sagt der compiler: cannot find symbol variable g
Was habe ich da falsch gemacht:
Jetzt hätte ich gerne das nach den entsprechenden Buttons folgendes geschieht:
löschen = Zeichenfeld soll gelöscht werden
Oval zeichnen = ein Oval soll gezeichnet werden usw.
Ich habe aber leider keine wirklich Idee wie ich das machen soll. Hab es mit g.drawRect (10, 20, 10, 30);
versucht, aber da sagt der compiler: cannot find symbol variable g
Was habe ich da falsch gemacht:
Code:
import java.awt.*;
import java.awt.event.*;
class MyCanvas extends Canvas {
String text = "";
public void paint (Graphics g) {
g.drawString ( text, 10, 10);
}
public void setText (String text) {
this.text = text;
repaint();
}
}
public class Grafik_Programm extends Frame implements ActionListener {
private Panel panelCenter;
private Button loeschen, ozeichnen, lzeichnen, rzeichnen;
public Grafik_Programm (String Title) {
super (Title);
Panel panelNorth = new Panel();
panelNorth.add (loeschen = new Button ("clear"));
panelNorth.add (ozeichnen = new Button ("Oval zeichnen"));
panelNorth.add (lzeichnen = new Button ("Linie zeichnen"));
panelNorth.add (rzeichnen = new Button ("Rechteck zeichen"));
panelCenter = new Panel();
add ("North", panelNorth);
panelCenter.setLayout (new CardLayout());
add ("Center", panelCenter);
setSize (600,400);
//for (int i = 1; i <= 7; i++)
//panelCenter.add ("Schalter " + i, new Button ("Schalter " + i));
setVisible(true);
loeschen.addActionListener (this);
ozeichnen.addActionListener (this);
lzeichnen.addActionListener (this);
rzeichnen.addActionListener (this);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent event) {
CardLayout cl = (CardLayout)panelCenter.getLayout();
if (loeschen == event.getSource())
//Zeichenfeld soll gelöscht werden
else if (ozeichnen == event.getSource())
//ein Oval soll gezeichnet werden
else if (lzeichnen == event.getSource())
//eine Linie soll gezeichnet werden
else if (rzeichnen == event.getSource())
g.drawRect (10, 10, 20, 25)
//ein Rechteck soll gezeichnet werden
}
public static void main (String [] args) {
new Grafik_Programm ("BorderLayout");
}
}