Aufruf der Methode ergibt eine Exception

Diskutiere Aufruf der Methode ergibt eine Exception im Hardware Forum; Hallo zusammen Ich habe einen Editor geschrieben und möchte im Spiel das die Wörter aufgerufen werden. es ergibt aber eine Exception. Wieso Diese...

  1. Boegi
    Boegi Neues Mitglied
    Hallo zusammen
    Ich habe einen Editor geschrieben und möchte im Spiel das die Wörter aufgerufen werden.
    es ergibt aber eine Exception. Wieso
    Diese Methode ist die Methode mit den Wörtern

    Code (Text):
    //Lesen der Methode mit den Wörtern
    public static String ZufallsWort(Component dieWahl) {
       
            //Eine Variable für den Zugriff auf die Datei mit denn Wörtern
            RandomAccessFile ZufallsEntscheid;
       
            //Variablen um die Anzahl Wörterzu speichern, das Wort übergeben
            //Für die Positionene alt/neu
            int anzahlWoerter;
            String zurück = "";
            double wortZufaellig;
            int neuesWort;
       
       
            try {
           
                //Eine neue Instanzdatei mit Zugriff für read, nur um es zu lesen
                ZufallsEntscheid = new RandomAccessFile("letter.bin","r");
           
                //Die Anzahl der Wörter ermitteln
                //Die zufällige Position ermitteln und ev. Korrektur
                anzahlWoerter = (ZufallsEntscheid.readInt());
                wortZufaellig = Math.random() * anzahlWoerter+1;
                if(wortZufaellig < 1)
                    wortZufaellig = 1;
           
                //Position ermitteln
                while(ZufallsEntscheid.getFilePointer() < ZufallsEntscheid.length()) {
               
                    //Wenn der ausgelesene Wert mit der Position übereinstimmt, String übergeben
                    if(ZufallsEntscheid.readInt() == (int) wortZufaellig) {
                        zurück = (ZufallsEntscheid.readUTF());
                   
                    }
               
                    //Wenn nicht, weitersuchen
                    else {
                        neuesWort = ZufallsEntscheid.readUnsignedShort();
                        ZufallsEntscheid.seek(ZufallsEntscheid.getFilePointer() + neuesWort);
                    }
                }
           
                //Schliessen
                ZufallsEntscheid.close();
            }
       
            //Fehler abfangen
            catch (IOException e) {
                JOptionPane.showInputDialog("Beim Laden des Wortes ist ein Problem aufgetreten.");
            }
           
            //Zurückgeben
            return nulle;
        }
    Hier die Mehode wo ich die Methode ZufallsWort aufrufen möchte.

    Code (Text):
    [/COLOR][/FONT][/LEFT]
     @FXML void initialize() {
      int tempIndex = 0;
      //es geht los mit 9 verbleibenden Durchläufe
      restDurchlauefe = 9;
      //die restlichen Durchläufe anzeigen
      anzVersuche.setText(Integer.toString(restDurchlauefe));
     
      //die Liste für das Kombinationsfeld füllen
      for (char temp = 'a'; temp <= 'z'; temp++) {
       zeichen[tempIndex] = Character.toString(temp);
       tempIndex++;
      }
     
      auswahl.getItems().addAll(zeichen);
      //ein Wort ermitteln
      //neuesWort();    
      TestEditor.auswahl(null);
      //new TestEditor(suchwort);
         
      //den Grafikkontext beschaffen
      gc = zeichenflaeche.getGraphicsContext2D();
      spielpunkte = new Score(meineStage);
        }
     
    Da ich schon seit über zwei Wochen daran bin und dies nicht hin bekomme muss ich euch fragen. Ich danke euch schon im voraus.
     
  2. Java online lernen
  3. Boegi
    Boegi Neues Mitglied
    ach ja der aufruf heisst nicht
    TestEditor.auswahl(null);
    sondern
    TestEditor.ZufallsWort(null);
     
  4. Robat
    Robat Bekanntes Mitglied
    Was für eine Exception kommt denn und wo tritt diese genau auf?
     
    VfL_Freak gefällt das.
  5. Boegi
    Boegi Neues Mitglied
    Hallo Robat

    Die ist der ganze Fehler.

    Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source)
    at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
    at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
    at javafx.event.Event.fireEvent(Unknown Source)
    at javafx.scene.Node.fireEvent(Unknown Source)
    at javafx.scene.control.ComboBoxBase.valueInvalidated(Unknown Source)
    at javafx.scene.control.ComboBoxBase$2.invalidated(Unknown Source)
    at javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
    at javafx.beans.property.ObjectPropertyBase.set(Unknown Source)
    at javafx.scene.control.ComboBoxBase.setValue(Unknown Source)
    at javafx.scene.control.ComboBox.updateValue(Unknown Source)
    at javafx.scene.control.ComboBox.access$300(Unknown Source)
    at javafx.scene.control.ComboBox$6.changed(Unknown Source)
    at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.ReadOnlyObjectWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.ReadOnlyObjectWrapper.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
    at javafx.beans.property.ObjectPropertyBase.set(Unknown Source)
    at javafx.scene.control.SelectionModel.setSelectedItem(Unknown Source)
    at javafx.scene.control.ComboBox$ComboBoxSelectionModel$1.invalidated(Unknown Source)
    at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(Unknown Source)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.ReadOnlyIntegerWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.ReadOnlyIntegerWrapper.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.IntegerPropertyBase.markInvalid(Unknown Source)
    at javafx.beans.property.IntegerPropertyBase.set(Unknown Source)
    at javafx.scene.control.SelectionModel.setSelectedIndex(Unknown Source)
    at javafx.scene.control.SingleSelectionModel.updateSelectedIndex(Unknown Source)
    at javafx.scene.control.SingleSelectionModel.select(Unknown Source)
    at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin$9.invalidated(Unknown Source)
    at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.ReadOnlyIntegerWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.ReadOnlyIntegerWrapper.fireValueChangedEvent(Unknown Source)
    at javafx.beans.property.IntegerPropertyBase.markInvalid(Unknown Source)
    at javafx.beans.property.IntegerPropertyBase.set(Unknown Source)
    at javafx.scene.control.SelectionModel.setSelectedIndex(Unknown Source)
    at javafx.scene.control.MultipleSelectionModelBase.select(Unknown Source)
    at javafx.scene.control.MultipleSelectionModelBase.clearAndSelect(Unknown Source)
    at com.sun.javafx.scene.control.behavior.ListCellBehavior.simpleSelect(Unknown Source)
    at com.sun.javafx.scene.control.behavior.ListCellBehavior.doSelect(Unknown Source)
    at com.sun.javafx.scene.control.behavior.ListCellBehavior.mousePressed(Unknown Source)
    at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(Unknown Source)
    at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(Unknown Source)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
    at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
    at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
    at javafx.event.Event.fireEvent(Unknown Source)
    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
    at javafx.scene.Scene$MouseHandler.access$1800(Unknown Source)
    at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
    at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
    at com.sun.glass.ui.View.notifyMouse(Unknown Source)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$300(Unknown Source)
    at com.sun.glass.ui.win.WinApplication$4$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.reflect.misc.Trampoline.invoke(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
    ... 88 more
    Caused by: java.lang.NullPointerException
    at hangman.FXMLController.pruefen(FXMLController.java:125)
    at hangman.FXMLController.auswahlNeu(FXMLController.java:59)
    ... 97 more

    Kannst du etwas damit anfangen?
     
  6. Robat
    Robat Bekanntes Mitglied
    Hier steht genau was es für eine Exception ist und wo der Fehler auftritt.
    Wie sieht die pruefen() Methode aus und was steht in der Zeile 125?
     
    VfL_Freak gefällt das.
  7. Boegi
    Boegi Neues Mitglied
    hallo nochmals

    Code (Text):
    private void pruefen(Object auswahlZeichen) {
            char zeichen;
            int treffer = 0;
            //das ausgewählte Zeichen aus dem Kombinationsfeld wieder umbauen
            zeichen = auswahlZeichen.toString().charAt(0);
            //gibt es das Zeichen auch im Suchwort?
            //dabei vergleichen wir nur die Kleinbuchstaben
            //Zeile125
            treffer = suchwort.toLowerCase().indexOf(zeichen);
            //wenn wir nichts gefunden haben
            if (treffer < 0) {
                //1 von den verbleibenden Durchläufen abziehen
                restDurchlauefe--;
                //die restlichen Durchläufe anzeigen
                anzVersuche.setText(Integer.toString(restDurchlauefe));
                //die Fehler für die Anzeige erhöhen und den Galgen zeichnen
                erhoeheFehler();
                //einen Punkt abziehen
                punktAusgabe.setText(Integer.toString(spielpunkte.veraenderePunkte(-1)));
            }
            else {
                //nach weiteren Vorkommen suchen
                while (treffer >= 0) {
                    //das Zeichen aus der entsprechenden Position im Suchwort anzeigen
                    anzeige.setCharAt(treffer, suchwort.charAt(treffer));
                    //treffer erhöhen und dann weitersuchen
                    treffer++;
                    treffer = suchwort.toLowerCase().indexOf(zeichen,treffer);
                    //Punkte erhöhen
                    punktAusgabe.setText(Integer.toString(spielpunkte.veraenderePunkte(5)));
                }
                //das geänderte Wort anzeigen
                ausgabeText.setText(anzeige.toString());
            }
        }
       
    Falls dies noch wichtig ist. Suchwort und zeichen sind Strings​
     
  8. Robat
    Robat Bekanntes Mitglied
    Wenn das Zeile 125 ist
    dann scheint suchwort nicht initialisiert zu sein. Stell bitte sicher, dass suchwort in dieser Zeile einen Wert besitzt und nicht null ist.

    BTW: Poste den Code am Besten als Java-Code, dann bekommt er Syntax-Highlighting :) [code=Java]Dein Code[/code]
     
  9. Boegi
    Boegi Neues Mitglied
    Hallo
    Ach so ich hab einfach immer Code benutzt :)
    Mir ist aufgefallen, das es die Anzahl der Buchstaben im Spiel nicht anzeigt. Der Editor läuft aber einwandfrei.

    Ich habe Suchwort einen Wert gegeben "" aber jetzt zeigt es mir in einer anderen Methode der Fehler.:(
    Code (Java):

    private void gewinnerOderNicht() {
      suchwort="";
      //ende steuert, ob das Spiel zu Ende ist
      //nur dann wird die Liste geprüft und die Anwendung
      //geschlossen
      boolean ende = false;
      //die Linienbreite auf 1 setzen
      gc.setLineWidth(1);
      //ist das Spiel zu Ende?
      if (restDurchlauefe == 0) {
       gc.strokeText("Das gesuchte Wort war: " + suchwort, 20, 100);
       ende = true;
      }
      //ist das Wort erraten worden?
    //HIER IST WIEDER DIE EXCEPTION
    //Caused by: java.lang.NullPointerException
    // at hangman.FXMLController.gewinnerOderNicht(FXMLController.java:169)
      if (anzeige.toString().equals(suchwort)) {
       //pro verbleibendem Durchlauf gibt es noch zehn Punkte extra
       spielpunkte.veraenderePunkte(restDurchlauefe * 10);
       gc.strokeText("Hurra! Sie haben gewonnen!", 20, 100);
       ende = true;
      }
      if (ende == true) {
       //hat es für einen neuen Eintrag in der Bestenliste gereicht?
       if (spielpunkte.neuerEintrag() == true)
        spielpunkte.listeZeigen();

       Platform.exit();
      }
     }
     
  10. Robat
    Robat Bekanntes Mitglied
    Dann wird wohl das gleiche Problem mit anzeige sein
     
  11. Boegi
    Boegi Neues Mitglied
    HALLO

    Leider ist es das auch nicht.

    :-(
     
  12. Java online lernen
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Aufruf der Methode ergibt eine Exception - Ähnliche Themen

Welcher Methodenaufruf bei Hover, click,...
Welcher Methodenaufruf bei Hover, click,... im Forum AWT, Swing, JavaFX & SWT
Methodenaufruf mit String / String zu Objekt konvertieren
Methodenaufruf mit String / String zu Objekt konvertieren im Forum Allgemeine Java-Themen
Methodenaufruf
Methodenaufruf im Forum Java Basics - Anfänger-Themen
Methode aufrufen
Methode aufrufen im Forum Java Basics - Anfänger-Themen
Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen
Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen im Forum Java Basics - Anfänger-Themen
Thema: Aufruf der Methode ergibt eine Exception