HI,
würde ma gerne wissen, warum mein graph nicht neu gezeichnet wid, wenn ich die scrollbar versschieb...
danke im vorraus...
würde ma gerne wissen, warum mein graph nicht neu gezeichnet wid, wenn ich die scrollbar versschieb...
danke im vorraus...
Code:
import java.awt.*;
import java.awt.event.*;
/**
*
* Beschreibung.
*
* @version 1.0 vom 03.04.2006
* @author
*/
public class schiefer_wurf extends Frame
{
// 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 Panel panel1 = new Panel(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
a = Winkel.getValue()*10;
vy = v0 * Math.sin(a*Math.PI/180);
vx = v0 * 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);
list1.add(" "+ (int)x + " " + (int)y);
}
}
};
private List list1 = new List();
private Label label1 = new Label();
private Label label2 = new Label();
int a = 5;
AdjustmentListener listener1;
Scrollbar Winkel = new Scrollbar(Scrollbar.HORIZONTAL,a,1,-10,10);
// Ende Variablen
public schiefer_wurf(String title)
{
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 742;
int frameHeight = 531;
setSize(frameWidth, frameHeight);
Panel cp = new Panel(null);
add(cp);
// Anfang Komponenten
panel1.setBounds(376, 64, 305, 321);
panel1.setBackground(Color.YELLOW);
panel1.setFont (new Font("MS Sans Serif", Font.PLAIN, 13));
panel1.setForeground(Color.BLACK);
cp.add(panel1);
list1.setBounds(40, 64, 265, 321);
cp.add(list1);
label1.setBounds(40, 40, 85, 16);
label1.setText("Strecke");
label1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(label1);
label2.setBounds(144, 40, 77, 16);
label2.setText("Hoehe");
label2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(label2);
listener1 = new AdjustmentListener()
{
public void adjustmentValueChanged(AdjustmentEvent e)
{
repaint();
}
};
setLayout(null);
Winkel.setBounds(285,410,105,20);
Winkel.addAdjustmentListener(listener1);
add(panel1);
add(list1);
add(label1);
add(label2);
add(Winkel);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Ereignisprozeduren
// Ende Ereignisprozeduren
public static void main(String[] args) {
new schiefer_wurf("schiefer_wurf");
}
}