JavaFXでWebページの表示はできたのですが、ローカルHTMLファイルの方がどうしてもできません。
JavaFXよりもさらに古いSwingというツールを使ってみたところ、あっけなく解決しました。
JavaFXで色々試しても打開できず、やはりmacOSではJavaよりもSwiftなのかと半ば諦めていました。
SwingはJava8以前でしか使えませんが、JavaFXが私の手に余るので仕方がないです。
あとは競争馬名を入力するテキストフィールドやボタンを配置して完成です。
2021/8/28追記:SwingはJava9以降でも使えます。勘違いしていました。
package swing;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.io.File;
import java.io.IOException;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class Sample extends JFrame {
private JPanel contentPane;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Sample frame = new Sample();
frame.setVisible(true);
}
catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Sample() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JEditorPane editorPane = new JEditorPane();
contentPane.add(editorPane, BorderLayout.CENTER);
editorPane.setContentType("text/html");
try {
editorPane.setPage(new File("シャフリヤール.html").toURI().toURL());
}
catch (IOException e) {
e.printStackTrace();
}
}
}