package fem2; /** NumPDgl 05S, FEM-&Matrix-Algorithmen*/ import java.lang.Math; import java.awt.*; import java.awt.Graphics; import java.awt.event.*; class Fenster extends Frame implements WindowListener { //Fenster für Graphikausgabe Fenster() { //Konstruktor super("Finite Elemente"); setSize(610,660); addWindowListener(this); setVisible(true);// Fenster ist da&sichtbar } public void windowClosing(WindowEvent e) { //Bedienknöpfe o.re.: Fenster schließen System.exit(0); } public void windowOpened(WindowEvent e) { } public void windowClosed(WindowEvent e) { } public void windowActivated(WindowEvent e) { } public void windowDeactivated(WindowEvent e) { } public void windowIconified(WindowEvent e) { } public void windowDeiconified(WindowEvent e) { } Image gbild; //Bildpuffer public Graphics graus; //dessen Leinwand public void paint(Graphics g) { //kopiert Puffer graus ins Fenster if (gbild==null) { //erzeugt einmalig den Puffer gbild = createImage(600,600); graus = gbild.getGraphics(); } g.setPaintMode(); g.drawImage(gbild,10,58,this); } }//Ende Fenster public class femp { static double drehw = 0; //Drehwinkel 3D-Graphik public static void main(String args[]) { final fem finel = new fem(); final Fenster fen = new Fenster(); //Ausgabefenster ActionListener drehen = new ActionListener() { //Aktion Drehknopf public void actionPerformed(ActionEvent e){ drehw += 0.1; finel.zeig_fkt(drehw,fen.graus); fen.repaint(); } }; while (fen.graus==null) //Init. graus abwarten? fen.repaint(); Button dreh = new Button(" >> "); //Drehknopf erzeugen fen.add(dreh); //Knopf in fen einbauen dreh.setBounds(540,30,48,24); dreh.addActionListener(drehen); //auf Mausclick reagiert "drehen" if (finel.liesgeom(args[0]+".fej")) { //Lesen erfolgreich: System.out.println("Gelesen: "+finel.apkt+" Punkte, "+finel.adrk+" Dreiecke"); finel.wbereich(); System.out.println("Gebiet in ["+finel.xmn[0]+","+finel.xmx[0]+"]x[" +finel.xmn[1]+","+finel.xmx[1]+"]"); finel.zeiggeom(fen.graus); finel.femlsg(); } else System.out.println("Dateifehler"); fen.repaint(); }//Ende main }