問題タブ [scalafx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
380 参照

scala - Scala のリストで「ネストされた」型を使用する

私は ScalaFX と JavaFX を使用しており、次のコードがあります。

私の問題は、このコードがコンパイルされないことです。workWithListObservableList[ListItem[Type1]]を期待するメソッドにObservableList[ListItem[Type1]] を使用できないと書かれています。

これで遊んでいると、このコードのいくつかのバリエーションは、チェックされていない警告があり、型消去のためにパターン マッチングが機能しないことを示しています。

理想的には:

  • タイプ ListItem[Type1] および ListItem[Type2] のオブジェクトを保持できるリストは 1 つだけです。
  • どのような種類のアイテムを扱うかによって異なることを行うために、アイテムを扱うときにパターン マッチングを行うことができます。
  • workWithItemどちらのタイプのアイテムでも機能します。私の現在のコードでは、署名を に変更してから実行するworkWithItem(item:ListItem[_])必要がありworkWithItem(someItem.asInstanceOf[ListItem[_]])ました。おそらく正しいことではありません!

ありがとう!

0 投票する
0 に答える
366 参照

macos - ScalaFX/JavaFX 2 でドロップ失敗アニメーションを再生するには?

ScalaFX では、含まれている TreeView 以外のコントロールに TreeCell をドロップすると、ドラッグされたアイテムが元の位置に戻る短いアニメーションが再生されます。

TreeCell をアプリケーションの外 (デスクトップなど) にドロップすると、同じことが起こります。

TreeCell を含む TreeView の受け入れられない場所にドロップすると、同じアニメーションを再生したいのですが、次のように設定します。

この効果を生み出すには十分ではありません。

TreeCell の onDragDropped イベント ハンドラ内からドロップ失敗アニメーションを再生する方法はありますか?

編集

リクエストに応じてコード サンプルを追加しました。エントリをドラッグしてコントロールの外にドロップすると、ドロップ失敗のアニメーションが表示されます。エントリをリストの下にドラッグ アンド ドロップすると、アニメーションが再生されません。問題は、2 番目のケースでアニメーションを再生する方法です。

0 投票する
1 に答える
292 参照

scala - SBT で ScalaFX を使用してプロジェクトをコンパイルすると、型の不一致エラーが発生する

ScalaFX と MySQL データベースを使用してプロジェクトを開発しています。

SBT はbuild.sbtファイル経由で MySQL コネクタを正常に追加しました。プロジェクトをコンパイルすると、型の不一致エラーで停止します。

以下は、メイン メソッドのコード スニペットです。

これはDbConnectionケースクラスです:

なぜcompile失敗するのですか?

0 投票する
1 に答える
806 参照

scala - scalafx + intellij : NoClassDefFoundError: javafx/scene/shape/CullFace

javafx scala プロジェクトの作成中にブロックされました。intellij idea 13 (ast one) で scala プロジェクトを作成し、scalafx の jar ("scalafx_2.10-8.0.0-M1.jar") を手動で追加しました。そして、この小さなプログラムをコピーしました:

残念ながら、次のエラーメッセージが表示されます。

アプリケーション開始メソッドの例外 スレッド「メイン」の例外 java.lang.RuntimeException: com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:399) のアプリケーション開始メソッドの例外 com.sun.javafx.application. LauncherImpl.access$000(LauncherImpl.java:47) at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115) at java.lang.Thread.run(Thread.java:722) 原因: java .lang.NoClassDefFoundError: scalafx.Includes$ の javafx/scene/shape/CullFace.(Includes.scala:55)

問題はjavafxに関連しているようですが、通常はjava7でパックされているため無視しました...何が間違っていたのか教えていただけますか?

0 投票する
3 に答える
5268 参照

scala - JavaFx2 または ScalaFx + Akka

JavaFX/ScalaFX アプリケーションで Akka アクターを実行するには?

(これは最初の回答に基づく質問の更新です)

同じ実行コンテキストを共有するソリューションですか? JavaFx ExecutorService に基づく Actors ディスパッチャーを持つことを意味しますか? (UI操作コードを実行するもの)

それは、1 つのエージェントが UI を表し、それを操作できるということですか? 以下で提案されているように、UI ExecutorService に 2 人のアクターがいる場合、それはエージェント (UI であるオブジェクト) 間で状態を共有することを意味しませんか?

2 つのアクターは、異なるエグゼキューター サービスを使用しているときに通信できますか? 以下で提案されていることから、一部のエージェントは UI Executor Service 上にあり、他のエージェントはそうでないため、私はこれを求めています。

最後に、なぜ akka をそのまま使用し、on Executor コンテキストが異なり、Platform.runLater を使用すると、UI のパフォーマンスに影響を与える可能性があります。これは、同じアプリケーションに複数のエグゼキューター サービスがあるという問題を提起します。それは悪いことですか?

0 投票する
2 に答える
538 参照

sbt - scalafx-ensemble での 'sbt' と 'sbt run' 中の異なるエラー

scalafx-ensembleプロジェクトをダウンロードしました。sbtプロジェクトのフォルダーで実行すると、次のエラーが発生します。

実行するsbt runと、次のようになります。

私は何を間違っていますか?

0 投票する
1 に答える
225 参照

scalafx - filterEvents() が使用されているときにイベント フィルタを削除するにはどうすればよいですか?

こんにちは、rxscala と scalafx を一緒に使用したいので、マウス イベントを再パッケージ化するためにこれを行いました。

問題は、Subscription { ??? }ブロック内で登録されたイベントフィルターを削除したいのですfilterEvent()が、それを見るとfilterEvent()、イベントフィルターへの参照が保持されていないため、使用できませんstage.removeEventFilter()。同等のものも見当たりません。削除removeFilterEvent()を使用して登録されたイベント フィルタはどのように処理されますか?filterEvent()

回避策は、使用filterEvent()せずに javafx を使用することだと思いaddEventFilter()ますが、構文はもっと悪いです。

0 投票する
0 に答える
680 参照

scala - scalafxの異なるコンテナに動的にレイアウトされたノード間に矢印を描く

ScalaFX を使用してツリー ダイアグラムを描画しようとしています - それらの間に矢印があるノード。

レイアウトを簡単にするために、標準の ScalaFX レイアウト コンテナー (HBox や VBox など) を使用して各ブランチをネストしています。

線を描画する良い方法がわかりません。特に、線の始点と終点のプロパティを、それらが接続するノードのプロパティにバインドします。それらが同じコンテナにあれば、簡単です。次のようなことができます

ただし、それらが異なるコンテナにある場合は機能しません。シーンに関連するコンポーネントを見つける必要があります。

最小限の例が添付されています-実際、Arrowのバインディングを機能するものに置き換えるものを探しています。できれば、きれいな ScalaFX リスナー スタイルのやり方にとどまりたいと思っています。

編集: 現在の動作は、一番上のノードから左方向に水平線を描画することです。座標は、コンテナーのシーン座標に一致するように変換されていません。その方法がわかりません。

現在の動作