Guten Abend, alle zusammen!
Ich muss mich für eine anstehende Klausur mit dem Thema "Interfaces als Konstruktorparameter" auseinandersetzen. Bisher habe ich sowas noch nie benutzt, bin jetzt auch in einen Kurs gekommen, in dem dieses Thema schon behandelt wurde. Jetzt muss ich mir das quasi selbst aneignen.
Ich habe mir dazu eine alte Klausur des Professors angeschaut, in der genau dies drankam, und versuche jetzt, die Aufgabe als Übung zu lösen. (Aufgabe siehe Anhang)
Leider bin ich nicht sehr weit gekommen, da ich nicht weiß, wie ich mit diesem Interface umgehen soll.;(
Hier mein bisheriger Code dazu:
Und das von ihm vorgegebene Interface:
Ich habe mich schon im Forum umgeschaut und etwas Ähnliches gefunden, nur dass ich das irgendwie nicht so ganz verstanden habe.
http://www.java-forum.org/codeschnipsel-u-projekte/122994-einfacher-funktionsplotter.html
Es wäre echt supernett, wenn mir einer auf die Sprünge helfen könnte, denn die Klausur ist mein 2. Versuch und bin dementsprechend nervös.
Ich muss mich für eine anstehende Klausur mit dem Thema "Interfaces als Konstruktorparameter" auseinandersetzen. Bisher habe ich sowas noch nie benutzt, bin jetzt auch in einen Kurs gekommen, in dem dieses Thema schon behandelt wurde. Jetzt muss ich mir das quasi selbst aneignen.
Ich habe mir dazu eine alte Klausur des Professors angeschaut, in der genau dies drankam, und versuche jetzt, die Aufgabe als Übung zu lösen. (Aufgabe siehe Anhang)
Leider bin ich nicht sehr weit gekommen, da ich nicht weiß, wie ich mit diesem Interface umgehen soll.;(
Hier mein bisheriger Code dazu:
Java:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
[COLOR="Red"]public class FunctionPlotter extends JPanel [/COLOR]{
protected Function function;
public FunctionPlotter(Function function) {
this.function = function;
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
for(int i = 25; i <= 500; i += 25) {
g.setColor(Color.GRAY);
g.drawLine( i, 0, i, 600);
for(int j = 25; j <= 600; j += 25)
g.drawLine( 25, j, 500, j);
}
g.setColor(Color.RED);
// hier muss ich noch irgendwie den Funktionsgraphen zeichnen lassen
}
}
Java:
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JFrame;
[COLOR="Red"]public class Main [/COLOR]{
public static void main(String[] args) {
JFrame frame = new JFrame("FunctionPlotter");
Container container = frame.getContentPane();
container.setLayout(new GridLayout(1, 2));
container.add(new FunctionPlotter(new Function() {
public int value(int argument) {
return (int) (200 * Math.sin(0.1 * argument));
}
}));
container.add(new FunctionPlotter(new Function() {
public int value(int argument) {
return (int) (150 * Math.cos(0.05 * argument - (Math.PI/4)));
}
}));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1050, 650);
frame.setVisible(true);
}
}
Und das von ihm vorgegebene Interface:
Java:
[COLOR="Red"]public interface Function[/COLOR] {
public abstract int value(int argument);
}
Ich habe mich schon im Forum umgeschaut und etwas Ähnliches gefunden, nur dass ich das irgendwie nicht so ganz verstanden habe.
http://www.java-forum.org/codeschnipsel-u-projekte/122994-einfacher-funktionsplotter.html
Es wäre echt supernett, wenn mir einer auf die Sprünge helfen könnte, denn die Klausur ist mein 2. Versuch und bin dementsprechend nervös.