質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Q&A

0回答

267閲覧

VisualStudioCodeでCodeRunnerがハング

yamatera

総合スコア13

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

0グッド

0クリップ

投稿2020/08/18 03:16

問題

VisualStudioCodeで、CodeRunnerを使用して
JavaFxのSourceを実行しようとすると
途中でハングする。
解消するためには、VisualStudioCodeの
再立ち上げを必要とする。

画面

イメージ説明

環境

Windows Pro 10 1903
VisualStudioCode 1.48.0
Javac 1.8.0_192

ErrorMessage全文

PS C:\UserData\VisualStudioCodeWorkSpace\JavaFx01>
cd "c:\UserData\VisualStudioCodeWorkSpace\JavaFx01" ;
if ($?) { javac Basic01.java } ; if ($?) { java Basic01 }
javafx.fxml.LoadException:
/C:/UserData/VisualStudioCodeWorkSpace/JavaFx01/Basic01.fxml:12
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:103)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:922)
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at Basic01.start(Basic01.java:12)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$4(WinApplication.java:186)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: Basic01CTL
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:920)
... 22 more

Basic01.java

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class Basic01 extends Application
{
@Override
public void start(Stage primaryStage)
{try
{
BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource("Basic01.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("Basic01.css").toExternalForm());
primaryStage.setTitle("Basic01");
primaryStage.setScene(scene);
primaryStage.show();
}
catch(Exception e) {e.printStackTrace();}
}

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

Basic01CTL.fmlx

<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Button?> <?import javafx.scene.control.Label?> <?import javafx.scene.control.TextField?> <?import javafx.scene.layout.BorderPane?> <?import javafx.scene.layout.Pane?> <?import javafx.scene.text.Font?>

<BorderPane xmlns="http://javafx.com/javafx/8.0.192" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Basic01CTL">

<center> <Pane prefHeight="200.0" prefWidth="322.0" BorderPane.alignment="CENTER"> <children> <Button layoutX="33.0" layoutY="145.0" mnemonicParsing="false" onAction="#Click1" text="Button1" /> <Button layoutX="125.0" layoutY="145.0" mnemonicParsing="false" onAction="#Click2" text="Button2" /> <Label fx:id="label" layoutX="34.0" layoutY="41.0" text="Label"> <font> <Font size="24.0" /> </font></Label> <TextField fx:id="textfield" layoutX="35.0" layoutY="87.0"> <font> <Font size="18.0" /> </font></TextField> </children> </Pane> </center> </BorderPane>

Basic01CTL.java

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;

public class Basic01CTL
{
@FXML private TextField textfield;
@FXML private Label label;

@FXML protected void Click1(ActionEvent evt) { label.setText("Button 1 pushed"); } @FXML protected void Click2(ActionEvent evt) { String s = new String(textfield.getText()); label.setText("Input = "+s); }

}

関連質問

「VisualStudioCodeのErrorMessageが理解不能」
投稿 2020/08/17 18:25
同一Sourceで発生しました。
原因は、CodeRunnerの使用法の間違いのようでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問