Hallo,
ich habe folgende Aufgabe:
nach Anwahl des Buttons „ein“ soll die Linie eingeblendet werden und bleiben. Bei Anwahl des
Buttons „aus“, soll die Linie verschwinden und verschwunden bleiben.
MEin Problem:
Wie kann ich in der actionPerformed() veranlassen, dass die Linie erst bei drücken des "EIN"-Buttons gezeichnet wird? Mit repaint funktioniert das irgendwie nicht. Das löschen über den "AUS"-Button funktioniert mit destroy ebenfalls nicht :/
Habt ihr Ideen?
ich habe folgende Aufgabe:
nach Anwahl des Buttons „ein“ soll die Linie eingeblendet werden und bleiben. Bei Anwahl des
Buttons „aus“, soll die Linie verschwinden und verschwunden bleiben.
MEin Problem:
Wie kann ich in der actionPerformed() veranlassen, dass die Linie erst bei drücken des "EIN"-Buttons gezeichnet wird? Mit repaint funktioniert das irgendwie nicht. Das löschen über den "AUS"-Button funktioniert mit destroy ebenfalls nicht :/
Habt ihr Ideen?
Java:
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JPanel;
public class Zeichne extends JApplet implements ActionListener {
MyCan can = new MyCan();
JPanel outerpanel = new JPanel();
JPanel panel = new JPanel();
JButton ein, aus;
public void init() {
outerpanel.setLayout(new GridLayout(2, 1, 20, 20));
panel.setLayout(new GridLayout(1, 2, 10, 20));
ein = new JButton("EIN");
ein.addActionListener(this);
panel.add(ein);
aus = new JButton("AUS");
aus.addActionListener(this);
panel.add(aus);
outerpanel.add(panel);
outerpanel.add(can);
setContentPane(outerpanel);
}
public class MyCan extends Canvas {
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.black);
g.drawLine(0, 25, 200, 25);
}
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source == ein) {
repaint();
}
if (source == aus) {
destroy();
}
}
}