0

フルスクリーンのメインシーンがあります。次に、ステージを拡張する警告ダイアログがあります。カスタム テキストで埋められ、画面上に配置されて表示されます。

問題は、画面に触れると、次のエラーが表示されることです。

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: Too many touch points reported
    at javafx.scene.Scene$ScenePeerListener.touchEventNext(Scene.java:2626)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$10.run(GlassViewEventHandler.java:985)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$10.run(GlassViewEventHandler.java:964)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleNextTouchEvent(GlassViewEventHandler.java:964)
    at com.sun.glass.ui.View.handleNextTouchEvent(View.java:549)
    at com.sun.glass.ui.View.notifyNextTouchEvent(View.java:1004)
    at com.sun.glass.ui.TouchInputSupport.notifyNextTouchEvent(TouchInputSupport.java:117)
    at com.sun.glass.ui.win.WinGestureSupport.notifyNextTouchEvent(WinGestureSupport.java:58)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:39)
    at com.sun.glass.ui.win.WinApplication$4$1.run(WinApplication.java:112)
    at java.lang.Thread.run(Thread.java:724)

すべてが機能していますが、このエラーはすべてのタッチイベント中に表示されます。

アラート ダイアログを適切に実装するにはどうすればよいですか? ありがとう。

警告ダイアログの実装はこれです - http://tech.chitgoks.com/2013/06/19/how-to-create-alert-dialog-like-joptionpane-in-java-fx-2/

4

2 に答える 2

0

あなたが共有したリンクのこのコードは、そのままでは機能しません。コンパイルエラーをスローします。以下の変更を加えた後、私にとってはうまくいきます。

button.setOnAction(new EventHandler(){
        @Override
        public void handle(ActionEvent arg0) {
            AlertDialog.this.close();
        }
    });

button.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent arg0) {
             AlertDialog.this.close();
        }
    });

以下のコードセクションを変更します

if (width &lt; WIDTH_DEFAULT)
        width = WIDTH_DEFAULT;

if (width < WIDTH_DEFAULT)
  width = WIDTH_DEFAULT;

それらの変更を行った後、うまくいくかどうかお知らせください。所有者のステージを適切に設定したに違いないと思います。

于 2013-10-20T19:03:22.203 に答える
0

Java 9 (問題が解決した場所) に更新できない場合は、Scene クラスの touchPoint 配列でリフレクションを使用してみてください。例外がスローされたらリセットし、Scene クラスに関連する他のフィールドもリセットしてください。私のために働いた。ランタイム例外をキャッチするには、アプリ全体に try catch ブロックも必要です。

于 2018-10-18T15:25:12.487 に答える