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! |