所以我一直在学习如何在Eclipse中使用JavaFX,并且遇到了一个字符编码错误,它始终出现在类声明之前的最后一个字符上。
每当我运行脚本时,都会出现一个程序错误,上面写着:
“保存无法完成。请尝试使用文件>另存为...如果问题仍然存在。 原因: 某些字符无法使用“Cp1252”字符编码进行映射。 更改编码或删除“Cp1252”字符编码不支持的字符。“
我尝试下载支持FX的另一个名为IntelliJ IDEA的程序,同样的错误也发生在该程序上。但是,我设法通过简单地手动重写最后一个导入来修复IntelliJ上的这个错误。不幸的是,当我使用Eclipse时,修复这个问题似乎并不那么简单。我使用Eclipse而不是仅使用IntelliJ的原因是我的学校计算机只使用Eclipse。
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 :(得分:3)
听起来好像你在文件中得到一个不能用Cp1252编码表示的字符(只能处理有限范围的字符)。
您可以将文件的编码更改为UTF-8,它可以处理任何事情。
要更改单个文件,请打开文件“属性”和“资源”页面,更改“文本文件编码”。值为UTF-8。
您还可以在' General>的首选项中更改工作区的默认文本文件编码。工作区'页。
答案 1 :(得分:0)
举个例子:
我发现了一个导致问题的特殊字符:
在我的代码中的某处写了:
//Now blabla Equation n̊1
n̊1
导致此“保存问题”错误的原因