ich habe ein kleines Prog erstellt und will, dass nach dem drücken auf den JButton die Zeichnung auf das JPanel kommt.
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyJFrame extends javax.swing.JFrame {
boolean draw=false;
public MyJFrame() {
initComponents();
}
public class MyDraw extends javax.swing.JPanel {
public void paint ( Graphics gr ) {
if(draw){
gr.setColor(Color.red);
double x=100,y=000; //Startbedinung: Ort
double r=Math.sqrt(x*x+y*y); //Abstand zwischen M1 und M2
double rx=x;
double ry=y;
double M1=6*Math.pow(10,19); //M2=60000
double vx=0,vy=10; //Startbedinung Geschwindigkeit
double ax,ay;
double dt=0.9;
int i=0,z=0;
double g=-6.67*Math.pow(10,-16);
int yi1=(int)Math.round(y);
int xi1=(int)Math.round(x);
int ri1=(int)Math.round(r);
while(z<40){
do {
ax=g*M1/Math.pow(r,3)*x;
vx=vx+ax*dt;
x=x+vx*dt;
xi1=(int)Math.round(x);
ay=g*M1/Math.pow(r,3)*y;
vy=vy+ay*dt;
y=y+vy*dt;
yi1=(int)Math.round(y);
i=i+1;
} while(i<1000);
//System.out.println(y);
//System.out.println(sy);
gr.drawOval(400,400,5,5);
gr.drawOval(xi1+400,yi1+400,5,5);
//gr.drawLine(250,250,250,250);
//gr.drawLine(xi1+400,yi1+400,xi1+400,yi1+400);
z=z+1;
}
}
}
}
hier stehen die ganzen Definition vom Button textfield usw.
private void zeichnenActionPerformed(java.awt.event.ActionEvent evt) {
draw=true;
repaint();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MyJFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTextField Masse1;
private javax.swing.JTextField VX1;
private javax.swing.JTextField VY1;
private javax.swing.JTextField X1;
private javax.swing.JTextField Y1;
private javax.swing.JPanel abbildung;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel2;
private javax.swing.JButton zeichnen;
// End of variables declaration
}