DFBL-Benjamin Geschrieben 8. November 2002 Geschrieben 8. November 2002 ich habe gerade mein erstes Applet geschrieben. aber wenn ich es mit einem Browser ausführen möchte, dann geht es nicht, woran kann es liegen? Hauptprogramm Radius.java /* * Radius.java * * Created on 8. November 2002, 14:51 */ /** * * @author Benjamin Gaus_2 */ public class Radius extends javax.swing.JApplet { /** Creates new form Radius */ public Radius() { initComponents(); kreis=new Kreis(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() { jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); textField_radius = new javax.swing.JTextField(); textField_flaeche = new javax.swing.JTextField(); textField_umfang = new javax.swing.JTextField(); button_berechnung = new javax.swing.JButton(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); textField_meldung = new javax.swing.JTextField(); jLabel7 = new javax.swing.JLabel(); jButton1 = new javax.swing.JButton(); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); setBackground(java.awt.Color.green); setFont(new java.awt.Font("Arial", 0, 14)); setForeground(java.awt.Color.white); jLabel1.setFont(new java.awt.Font("Arial", 1, 24)); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setText("Kreisberechnung"); getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 20, 220, -1)); jLabel2.setFont(new java.awt.Font("Arial", 0, 14)); jLabel2.setText("Radius:"); getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 110, 110, -1)); jLabel3.setFont(new java.awt.Font("Arial", 0, 14)); jLabel3.setText("Flaecheninhalt:"); getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 140, 110, -1)); jLabel4.setFont(new java.awt.Font("Arial", 0, 14)); jLabel4.setText("Umfang:"); getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 170, 110, -1)); textField_radius.setFont(new java.awt.Font("Arial", 1, 14)); textField_radius.setHorizontalAlignment(javax.swing.JTextField.CENTER); getContentPane().add(textField_radius, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 110, 130, -1)); textField_flaeche.setFont(new java.awt.Font("Arial", 1, 14)); textField_flaeche.setHorizontalAlignment(javax.swing.JTextField.CENTER); getContentPane().add(textField_flaeche, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 140, 130, -1)); textField_umfang.setFont(new java.awt.Font("Arial", 1, 14)); textField_umfang.setHorizontalAlignment(javax.swing.JTextField.CENTER); getContentPane().add(textField_umfang, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 170, 130, -1)); button_berechnung.setFont(new java.awt.Font("Arial", 1, 12)); button_berechnung.setText("Berechnung"); button_berechnung.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { button_berechnungActionPerformed(evt); } }); getContentPane().add(button_berechnung, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 200, -1, -1)); jLabel5.setFont(new java.awt.Font("Arial", 0, 14)); jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jLabel5.setText("Bitte geben Sie den Radius ein und danach dr\u00fccken "); getContentPane().add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 60, 340, -1)); jLabel6.setFont(new java.awt.Font("Arial", 0, 14)); jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jLabel6.setText("Sie auf \"Berechnung\"!"); getContentPane().add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(21, 80, 340, -1)); textField_meldung.setFont(new java.awt.Font("Arial", 0, 12)); textField_meldung.setHorizontalAlignment(javax.swing.JTextField.CENTER); getContentPane().add(textField_meldung, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 270, 340, -1)); jLabel7.setFont(new java.awt.Font("Arial", 1, 14)); jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel7.setText("Hinweise f\u00fcr das Programm:"); getContentPane().add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 250, 340, -1)); jButton1.setFont(new java.awt.Font("Arial", 1, 12)); jButton1.setText("Inhalte l\u00f6schen?"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); getContentPane().add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 200, -1, -1)); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // Add your handling code here: textField_meldung.setText(""); textField_radius.setText(""); textField_flaeche.setText(""); textField_umfang.setText(""); } private void button_berechnungActionPerformed(java.awt.event.ActionEvent evt) { // Add your handling code here: textField_meldung.setText(""); try { Double help1 = new Double(textField_radius.getText()); kreis.setRadius(help1.doubleValue()); } catch(NumberFormatException e) { textField_meldung.setText("Falsche Eingabe! Bitte keine Kommas ( , ), sonder Punkte ( . ) benutzen!"); } textField_flaeche.setText(" " +kreis.berechneFlaeche()+ " "); textField_umfang.setText(" " +kreis.berechneUmfang()+ " "); } // Variables declaration - do not modify private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel3; private javax.swing.JButton button_berechnung; private javax.swing.JTextField textField_flaeche; private javax.swing.JLabel jLabel2; private javax.swing.JButton jButton1; private javax.swing.JTextField textField_umfang; private javax.swing.JLabel jLabel7; private javax.swing.JTextField textField_radius; private javax.swing.JLabel jLabel6; private javax.swing.JTextField textField_meldung; private javax.swing.JLabel jLabel5; // End of variables declaration Kreis kreis; } eine weitere Klasse zum berechnen des Radius: public class Kreis { double radius; double pi=3.14; Kreis() { this.radius=0; } Kreis(double radius2) { if(100>radius2 && radius2>0) { this.radius=radius2; } else { System.out.println("Fehler: Konstruktor"); } } double getRadius() { return this.radius; } void setRadius(double radius) { if(1000>radius & radius>0) { this.radius=radius; } else { System.out.println("Fehler: setRadius"); this.radius=0; } } double berechneFlaeche() { double A; A=this.radius*this.radius*pi; return A; } double berechneUmfang() { double U; U=this.radius*2*pi; return U; } } das HTML-Programm <HTML> <HEAD> <TITLE>Applet HTML Page</TITLE> </HEAD> <BODY> <H3><HR WIDTH="100%">Applet HTML Page<HR WIDTH="100%"></H3> <P> <APPLET code="Radius.class" width=350 height=200></APPLET> </P> <HR WIDTH="100%"><FONT SIZE=-1><I>Generated by NetBeans IDE</I></FONT> </BODY> </HTML> Zitieren
Der Kleine Geschrieben 8. November 2002 Geschrieben 8. November 2002 Sollen wir wirklich den Quelltext durchackern?? HTML Code sieht richtig aus. Ist Programm durch entsprechende Entwicklungumgebung kompiliert und Akzeptiert? Oder gibt es Syntaxfehler! Befindet sich die class - Datei im selben Verzeichnis wie die HTML? Falls ja, was passiert den überhaupt? Graues Viereck oder fehleranzeige in der Browser - Statusleiste??? Zitieren
Der Kleine Geschrieben 8. November 2002 Geschrieben 8. November 2002 PS : habe gerade noch gesehen! Ich vermisse die public static void init() bzw. public static void run() zur Ausfürhung eines Applets! Zitieren
DFBL-Benjamin Geschrieben 9. November 2002 Autor Geschrieben 9. November 2002 Es kommt die Fehlermeldung, dass das Applet nicht geladen werden kann. ich verwende Forte, weil wir das in der Schule auch verwenden. da habe ich dann die vorbereite Klasse gesucht, wo ich für das Hauptprogramm nehmen kann, da habe ich glaube ich wenn ich es noch genau weis GUI-Forms und dann die Class JApplet ausgewählt. ist das die falsche Klasse gewesen? ich habe an der Radius.java nichts verändert, das geht bei Forte auch net, das ist Blau hinterlegt und das ist gesperrt, das man da auch nichts verändern kann. Man kann z. B. nur die Button-Funktionen einstellen, aber mehr auch nicht! vielleicht hast du mir jetzt noch einen Tipp? Zitieren
Der Kleine Geschrieben 10. November 2002 Geschrieben 10. November 2002 Nochmal: public void init() oder public void start() schon eingebaut??? Diese muessen für ein Applet in der Klasse radius stehen. Zitieren
DFBL-Benjamin Geschrieben 11. November 2002 Autor Geschrieben 11. November 2002 public void init() einfach in die Klasse radius reinschreiben und dann soll das gehen? ich probiere das gleich mal aus, dann bekommst du ne Meldung obs geht! Zitieren
DFBL-Benjamin Geschrieben 11. November 2002 Autor Geschrieben 11. November 2002 Applet Radius notinted; das kommt als Fehlermeldung, auch nach Einbau des public void start() { } Befehls. Habe ich bei dem Einbau einen Fehler gemacht? das muss schon in das Hauptprogramm (radius.java) oder Unterprogramm (kreis.java)? Zitieren
fmarx2000 Geschrieben 11. November 2002 Geschrieben 11. November 2002 Originally posted by DFBL-Benjamin ich habe gerade mein erstes Applet geschrieben. aber wenn ich es mit einem Browser ausführen möchte, dann geht es nicht, woran kann es liegen? Hauptprogramm Radius.java eine weitere Klasse zum berechnen des Radius: das HTML-Programm Ich würde sagen, daß du deine Klasse nicht von javax.JApplet ableiten solltest. Was für einen Browser benutzt du denn ? Frank Zitieren
DFBL-Benjamin Geschrieben 11. November 2002 Autor Geschrieben 11. November 2002 Internet Explorer 6.0 habe das mit Forte erstellt, so wie ich das schon oben beschrieben habe, da habe ich dann so eine Vorlage geöffnet, wo ich denke, das es die richtige ist, oder war es die falsche dafür? Zitieren
fmarx2000 Geschrieben 11. November 2002 Geschrieben 11. November 2002 Originally posted by DFBL-Benjamin Internet Explorer 6.0 habe das mit Forte erstellt, so wie ich das schon oben beschrieben habe, da habe ich dann so eine Vorlage geöffnet, wo ich denke, das es die richtige ist, oder war es die falsche dafür? Hmm also ich habe zwar schon lange kein Applet mehr geschrieben aber mit Klassen aus den javax - Packages habe ich noch kein Applet gesehen. Ich habe das von java.applet.Applet immer abgeleitet, das dürfte eher die Klasse sein. Frank Zitieren
DFBL-Benjamin Geschrieben 11. November 2002 Autor Geschrieben 11. November 2002 in der Schule machen wir noch keine Applets, da sind wir leider noch nicht so weit! deshalb habe ich einfach mal so eine Klasse genommen, wo ich denke, das könnte passen! dann muss ich wahrscheinlich eine eigenes Applet schreiben, von Anfang an. kannst du mir mal eines von dir per E-mail zu senden? wie das so geht! Zitieren
fmarx2000 Geschrieben 11. November 2002 Geschrieben 11. November 2002 Originally posted by DFBL-Benjamin in der Schule machen wir noch keine Applets, da sind wir leider noch nicht so weit! deshalb habe ich einfach mal so eine Klasse genommen, wo ich denke, das könnte passen! dann muss ich wahrscheinlich eine eigenes Applet schreiben, von Anfang an. kannst du mir mal eines von dir per E-mail zu senden? wie das so geht! Ich muss gestehen ich habe hier keines. Aber geh mal zu java.sun.com da gibt es tonnenweise Informationen und Tutorials. Ich bin mir aber ziemlich sicher, dass du ein Applet von der Klasse java.applet.Applet ableiten musst und dann die entsprechenden Methoden überschreiben. Frank Zitieren
Jaraz Geschrieben 11. November 2002 Geschrieben 11. November 2002 Hallo, Java Einführung - Kursunterlage http://www.boku.ac.at/javaeinf/jein.html#inhalt Beispiel: typischer Aufbau eines Applet mit Button-Aktionen import java.applet.*; import java.awt.*; import java.awt.event.*; public class ButtonTest extends Applet implements ActionListener { private Button b1, b2; private Label mess; public void init() { setLayout (new FlowLayout() ); b1 = new Button("B1"); b1.addActionListener (this); add(b1); b2 = new Button("B2"); b2.addActionListener (this); add(b2); mess = new Label("Nothing was pressed."); add(mess); setVisible(true); } public void actionPerformed (ActionEvent e) { String s = e.getActionCommand(); if (s.equals("B1")) { mess.setText("The first button was pressed."); } else if (s.equals("B2")) { mess.setText("The second button was pressed."); } this.validate(); } } Hier das zugehörige minimale HTML-File, mit der Angabe der Größe des Applet: <html> <applet code="ButtonTest.class" width="500" height="100"> </applet> </html> Gruß Jaraz Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.