2017-06-02 5 views
1

So habe ich gelernt, JavaFX in Eclipse zu verwenden, und bin auf einen Zeichencodierungsfehler gestoßen, der immer auf dem letzten Zeichen vor der Klassendeklaration auftritt.Java FX - Cp1252 Zeichencodierungsfehler

Jedes Mal, wenn ich das Skript ausführen, wird ein Programmfehler, sagt genau das:..

„Save konnte nicht abgeschlossen werden Versuchen Sie Datei> Speichern unter ..., wenn das Problem weiterhin besteht Grund: Einige Zeichen kann nicht mit der Zeichencodierung "Cp1252" zugeordnet werden. Entweder die Codierung ändern oder die Zeichen entfernen, die von der Zeichencodierung "Cp1252" nicht unterstützt werden. "

Ich habe versucht, ein anderes Programm herunterzuladen, das FX namens IntelliJ IDEA unterstützt, und derselbe Fehler ist auch bei diesem Programm aufgetreten. Allerdings habe ich es irgendwie geschafft, diesen Fehler auf IntelliJ zu beheben, indem ich einfach den letzten Import von Hand umschrieb. Leider war es nicht so einfach, dieses Problem zu beheben, als ich Eclipse verwendete. Der Grund, warum ich Eclipse anstelle von IntelliJ verwende, ist, dass meine Schulcomputer nur Eclipse verwenden.

import javafx.application.Application; 
import javafx.stage.Stage; 
import javafx.event.ActionEvent; 
import javafx.event.EventHandler; 
import javafx.scene.Scene; 
import javafx.scene.control.Label; 
import javafx.scene.control.Button; 
import javafx.scene.layout.StackPane; 
import javafx.scene.layout.VBox; //error appears after the semicolon on this line 

public class Main extends Application { 

    Scene s1, s2; 

    public static void main(String[] args) { 
     launch(args); 
    } 

    @Override 
    public void start(Stage window) { 
     Label label1 = new Label("s1"); 
     Button button1 = new Button("Click for s2"); 
     button1.setOnAction(e -> window.setScene(s2)); 

     VBox lay1 = new VBox(50); 
     lay1.getChildren().addAll(label1, button1); 

     s1 = new Scene(lay1, 500, 500); 

     Button button2 = new Button("Click for s1"); 
     button2.setOnAction(e -> window.setScene(s1)); 

     s2 = new Scene(lay1, 300, 250); 

     window.setScene(s1); 
     window.setTitle("title"); 
     window.show(); 
    } 
} 
+0

Wenn ich diese Zeile in meinen Texteditor kopiere und einfüge, sehe ich hinter dem Semikolon ein Zeichen für die Byte-Reihenfolge, U + FEFF. Wählen Sie zwischen dem Semikolon und dem Ende der Zeile und ersetzen Sie es durch ein typisiertes Semikolon. – VGR

Antwort

2

Es klingt wie irgendwie Sie ein Zeichen in der Datei erhalten, die nicht in der Cp1252 Codierung dargestellt werden kann (die nur mit einer begrenzten Anzahl von Zeichen umgehen können).

Sie könnten die Codierung der Datei in UTF-8 ändern, die mit fast allem umgehen kann.

Um eine einzelne Datei zu ändern, öffnen Sie die Datei Eigenschaften und die Seite Ressource Ändern Sie den Wert 'Textdateikodierung' in UTF-8.

Sie können die Standardcodierung der Textdatei für den Arbeitsbereich auch in den Einstellungen auf der Seite "Allgemein> Arbeitsbereich" ändern.