![]() |
Lehrer Nussbaumer - JAVA (eine kleine Einführung ;) |
|---|
GrundlagenGUIEingabeAusgabeApplikationenApplets
ServletsBeispieleSpieleIDEsSkriptumJAVA-DOCS----------------- letzte Änderung: 09 December 2021 ----------------- Lehrer Nussbaumers Seite ... in Arbeit ... |
CheckBoxesKontrollkästen steuern den Programmablauf. Im vorliegenden Beispiel sollen Kontrollkästen für Mehrfachauswahl und Einfachauswahl kombiniert werden. Beispiel:Der Funktionsgraph einer gedämpften Schwingung wird mit verschiedenen Darstellungsoptionen ausgegeben. Code:import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class funktion extends Applet
implements ActionListener, ItemListener {
Button Grafik;
CheckboxGroup Farbgruppe;
Checkbox chr;
Checkbox chg;
Checkbox chb;
Checkbox chG;
Checkbox chB;
Checkbox chF;
public void init() {
chG = new Checkbox("Gitter",null,false);
chB = new Checkbox("Beschriftung",null,false);
chF = new Checkbox("Farbe",null,false);
Farbgruppe = new CheckboxGroup();
chr = new Checkbox("rot",Farbgruppe,true);
chg = new Checkbox("gruen",Farbgruppe,false);
chb = new Checkbox("blau",Farbgruppe,false);
Grafik = new Button("Funktionsgraph in den gewünschten Optionen zeichnen");
setLayout(new BorderLayout());
Panel p_r = new Panel();
p_r.setLayout(new GridLayout(6,1));
p_r.add(chG);
p_r.add(chB);
p_r.add(chF);
p_r.add(chr);
p_r.add(chg);
p_r.add(chb);
add ("East",p_r);
add("South", Grafik);
chG.addItemListener(this);
chF.addItemListener(this);
chB.addItemListener(this);
chr.addItemListener(this);
chb.addItemListener(this);
chg.addItemListener(this);
Grafik.addActionListener(this);
}
public void itemStateChanged (ItemEvent e) {
}
public void actionPerformed (ActionEvent e) {
if (e.getSource() == Grafik) {
repaint();
}
}
double f(double x) {
return 200 - 2*Math.pow(2.71828,-0.01*x)*Math.sin(0.3*x)*50;
}
public void paint(Graphics g) {
g.setColor(Color.white);
g.fillRect(50,50,250,250);
g.setColor(Color.black);
if (chG.getState()) {
for (int i=1;i<7;i++) {
g.drawLine(i*50,100,i*50,300);
}
for (int i=2;i<7;i++) {
g.drawLine(50,i*50,300,i*50);
}
}
if (chB.getState()) {
g.drawString("gedämpfte Schwingung",100,80);
}
if (chF.getState()) {
if (chr.getState()) {
g.setColor(Color.red);
}
else if (chg.getState()) {
g.setColor(Color.green);
}
else if (chb.getState()) {
g.setColor(Color.blue);
}
}
for (int x=0;x<250;x++) {
g.drawLine(x+50,(int)f(x),x+51,(int)f(x+1));
}
}
}
Kommentar:
Aufgabe:Erweitere obiges Applet um eine Auswahlliste, die die Auswahl verschiedener Funktionen zulässt! |