Java Parabel mit Koordinationssystem erzeugen
Hallo liebe Gemeinde
Ich habe eine Frage zu Java
Ich soll eine Parabel in einem Koordinationssystem darstellen.
ich hab es auch soweit am laufen nur fehlen mir noch einige Kleinigkeiten.
ich bräuchte noch eine Beschriftung der Koordinaten, sprich an den Strichen sollen die richtigen Zahlen stehen
ich glaub ihr braucht mein Quelcode um das Problem zu lösen
ich hatte schon ein wenig rum experimentiert
ich hab die Stelle markiert die ich meine.
Schonmal vielen Dank für Eure Hilfe
Mit freundlichen Grüßen
Broken
Ich habe eine Frage zu Java
Ich soll eine Parabel in einem Koordinationssystem darstellen.
ich hab es auch soweit am laufen nur fehlen mir noch einige Kleinigkeiten.
ich bräuchte noch eine Beschriftung der Koordinaten, sprich an den Strichen sollen die richtigen Zahlen stehen
ich glaub ihr braucht mein Quelcode um das Problem zu lösen
ich hatte schon ein wenig rum experimentiert
ich hab die Stelle markiert die ich meine.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.text.*;
public class parabel extends Applet
{
//ObjektVariablen deklarieren und initialisieren
Panel pa = new Panel();
ZeichnenPanel pb= new ZeichnenPanel();
Button b1=new Button("Berechnen");
TextField atf=new TextField("0",8);
TextField btf=new TextField("0",8);
TextField ctf=new TextField("0",8);
private Label zahl; <====
//einfache Variablen deklarieren (werden später initialisiert)
float af,bf,cf;
boolean Taste;
public void init()
{
setLayout(new BorderLayout());
add("South",pa);
add("Center",pb);
pa.setBackground(Color.green);
pb.setBackground(Color.white);
pa.add(atf);
pa.add(btf);
pa.add(ctf);
pa.add(b1);
b1.addActionListener(new b1Listener());
}
//Das Eventhandling wird in einer lokalen (inneren) Klasse festgelegt
class b1Listener implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
String astr, bstr, cstr, xstr, ystr;
astr = atf.getText();
bstr = btf.getText();
cstr = ctf.getText();
af=Float.valueOf(astr).floatValue();
bf=Float.valueOf(bstr).floatValue();
cf=Float.valueOf(cstr).floatValue();
Taste=true;
pb.repaint();
}
}
//Mittels einer innere Klasse wird ein Panel mit einer Zeichnen-Methode geschaffen, die dem Center des Schemas zugeordnet wird.
class ZeichnenPanel extends Panel
{
public void paint(Graphics g)
{
int u0,v0,u1,v1;
double x,y;
g.drawLine(0,250,500,250);
g.drawLine(250,0,250,500);
int j=0;
int k=0;
for (int i=0;i<=25;i++)
{
j=i*20;
g.drawLine(j,248,j,252);
g.drawLine(248,j,252,j);
//zahl=new Label("+25-i+"); <====
//zahl.setBounds(j,253,j,273); <====
//zahl.setBounds(253,j,273,j); <====
//add(zahl); <====
for (int h=0;h<=25;h++)
{
k=h*20;
g.drawLine(j,k,j,k);
}
}
u0=-250;
x=u0*0.1;//10 werden als Einheit festgelegt (Geteilt durch 10 funktioniert nicht!)
y=af*x*x+bf*x+cf;
v0=(int)Math.round(y*10);
if(Taste)
{
for(int i=-249;i<=250;i++)
{
u1=i;
x=u1*0.1;
y=af*x*x+bf*x+cf;
v1=(int)Math.round(y*10);
g.drawLine(250+u0,250-v0,250+u1,250-v1);
u0=u1;v0=v1;
}
}
}
}
}
Schonmal vielen Dank für Eure Hilfe
Mit freundlichen Grüßen
Broken
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 107486
Url: https://administrator.de/contentid/107486
Ausgedruckt am: 17.11.2024 um 07:11 Uhr
1 Kommentar