Hi,
muss für morgen^^ ein Prog schreiben, was den Schiefen Wurf in echtzeicht simuliert.....
Hab damit so noch nix gemacht also irgendwas zu simulieren....
Hab mir erstmal gedacht machste erstma dass es immer neu gezeichnet wird auf kopfdruck...so dass klappt auch schonmal nciht warum...frag mich nicht....
hier mla der Quelltext :
hoffe mir kann jemand helfen...
mfg
muss für morgen^^ ein Prog schreiben, was den Schiefen Wurf in echtzeicht simuliert.....
Hab damit so noch nix gemacht also irgendwas zu simulieren....
Hab mir erstmal gedacht machste erstma dass es immer neu gezeichnet wird auf kopfdruck...so dass klappt auch schonmal nciht warum...frag mich nicht....
hier mla der Quelltext :
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
*
* <Beschreibung>
*
* @version 1.0 vom 23.04.2006
* @author Das ist die Vorlage
*/
public class schiefer_wurf_simulation extends JFrame {
// Anfang Variablen
double y = 0;
double vy = 0;
double x = 0;
double vx = 0;
double v0 = 5;
double t = 0;
double dt = 0.01;
private JSlider Winkel = new JSlider();
private JSlider Geschw = new JSlider();
private JButton jButton1 = new JButton();
private JPanel jPanel1 = new JPanel(null)
{
public void paint(Graphics g)
{
g.drawLine(0,0,0,getHeight());
g.drawString("y",5,5);
g.drawLine(0,getHeight()-1,getWidth(),getHeight()-1);
g.drawString("x",getWidth()-5,getHeight()-5);
//berechnen
vy = b * Math.sin(a*Math.PI/180);
vx = b * Math.cos(a*Math.PI/180);
while ( y >= 0)
{
g.setColor(Color.red);
y = y + vy + dt;
vy = vy - 9.81*dt;
x = x + vx + dt;
g.fillOval((int)x,getHeight()-(int)y,2,2);
}
}
};
int a = 45;
int b = 5;
// Ende Variablen
public schiefer_wurf_simulation (String title) {
// Frame-Initialisierung
super (title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 300;
int frameHeight = 300;
setSize(frameWidth, frameHeight);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jPanel1.setBounds(32, 24, 225, 169);
jPanel1.setBackground(Color.YELLOW);
cp.add(jPanel1);
Winkel.setBounds(32, 216, 81, 17);
Winkel.setValue(5);
Winkel.setOrientation(Scrollbar.HORIZONTAL);
Winkel.setMaximum(10);
cp.add(Winkel);
Geschw.setBounds(144, 216, 89, 17);
Geschw.setValue(45);
Geschw.setOrientation(Scrollbar.HORIZONTAL);
Geschw.setMaximum(90);
cp.add(Geschw);
jButton1.setBounds(96, 256, 81, 17);
jButton1.setText("zeichnen");
cp.add(jButton1);
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Ereignisprozeduren
public void jButton1ActionPerformed(ActionEvent evt) {
a = Winkel.getValue();
b = Geschw.getValue();
jPanel1.repaint();
}
// Ende Ereignisprozeduren
public static void main(String[] args) {
new schiefer_wurf_simulation("schiefer_wurf_simulation");
}
}
hoffe mir kann jemand helfen...
mfg