我有这段代码,它只是从资源HTML
中将文件加载到 JavaFX :javafx.scene.web.WebView
import java.awt.Dimension;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import javax.swing.JFrame;
public class Test extends Application {
JFXPanel panel;
JFrame frame;
@Override
public void start(Stage primaryStage) {
Platform.runLater(new Runnable() {
public void run() {
frame = new JFrame("Test");
WebView v = new WebView();
v.getEngine().load(getClass().getResource("htmlfile.html").toExternalForm());
StackPane root = new StackPane();
root.getChildren().add(v);
Scene scene = new Scene(root);
panel = new JFXPanel();
panel.setScene(scene);
panel.setPreferredSize(new Dimension(641, 725));
frame.setContentPane(panel);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
}
});
}
/**
* main method
*
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
htmlfile.html
这是:
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<textarea id="mytextarea"></textarea>
</body>
</html>
一切都正确显示,唯一的问题是,如果我在显示的文本区域中键入内容,WebView
它不会将ENTER
键识别为换行符。所以实际上发生的事情是,当我按下 时ENTER
,textarea
什么都不做。现在,如果您在浏览器(如 chrome 或 firefox)中尝试上面的 HTML,它将起作用。
为什么会这样?
我该如何解决?