問題タブ [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.
scala - 奇妙な型の不一致エラー
内errorFixed
にタイプのテーブル列があります。私のクラスには、この表の列に入れようとする があります。TableColumn[Error, Boolean]
TableView[Error]
Error
val fixed: Boolean
私は試した
しかし、それは失敗します
documentation によるとObservableValue[Boolean,Boolean]
、のスーパータイプであるため、私は本当に理解していません。ReadOnlyBooleanWrapper
自分でキャストする.asInstanceOf[ObservableValue[Boolean, Boolean]]
とうまくいくようです。ここで何が起こっているのですか?
scala - ScalaFx: ファースト クラス関数を使用したイベント ハンドラー
scalaFx アプリでイベント ハンドラーを作成しようとしています。私は次の解決策を見つけました:
しかし、これは非常に Java スタイルのボイラープレート コードのようです。このようなファーストクラスの関数でこれを行う方法はありますか?
コンパイラは次のように述べています。
javafx.scene.input.MouseEvent => scalafx.delegate.SFXDelegate[javafx.scene.input.MouseEvent] with javafx.scene.input.MouseEvent から利用可能な暗黙的なビューはありません。
scala - JFXApp で基本クラスのコンストラクターが呼び出されない
DevAppFx オブジェクト コンストラクターが実行され、println ("Beginning ...
クラス AppFx コンストラクターは、println (「作成段階」) を含めて実行されません。openEFO メソッドを呼び出すことはできますが、stage 変数が null です。
編集これは単純化です。DEVAppFx と AppFx にはさらに多くの機能があるため、機能を分離しておくことが重要です。
multithreading - ScalaFX スレッドから値を取得するにはどうすればよいですか?
myNode: scalafx.scene.Node
ディスクに保存したり、他のビットマップと比較したりできるように、ビットマップに変換したい があります。それを に変換する正しいコードscalafx.scene.image.WritableImage
は
java.awt.image.RenderedImage
そして、それをwithに変えることができるはずです
問題は、お気づきかもしれませんが、コードを実行wrImg
して ScalaFX スレッドにアクセスする必要があることです。値を返す方法を説明する質問がここにありますが、それを Scala に変換する運がありません。私はこれを試しました:
しかし、コードはハングするだけで完了しません。誰でも慣用的な Scala バージョンを提供したり、コードが返されない理由を教えてもらえますか?
scala - Sodium for Java は Scala+ScalaFX での使用に適していますか?
この講演を見た後、リアクティブ スタイルで Scala/ScalaFX アプリを作成してみることにしました。当然のことながら、この講演の後、私はこのタスクに Sodiumライブラリの Java 実装を使用することを考えています。よくわかりませんが、Scala との互換性はどうですか?
Sodium Java は、リアクティブな ScalaFX アプリを構築するための良い方法でしょうか?それとも、このタスクにより適したフレームワークを探すべきでしょうか?
この組み合わせを既に試した人へのより具体的な質問は次のとおりです。
Sodium Java と Scala/ScalaFX を組み合わせたときに、どのような問題が発生しましたか?
java - バインディングにシンタックス シュガーを追加する以外に、ScalaFX の利点は何ですか?
JavaFX と Scala を使用して、マインド マッピング機能を備えたシンプルなノート オーガナイザーを実装しようとしています。
JavaFX コードを Scala から直接呼び出すか、ScalaFX 経由で呼び出すかを決定しようとしています。ScalaFX を学ぶ価値があるかどうかはわかりませんが、Scala コードから JavaFX を直接呼び出す方が簡単ではないでしょうか?
ScalaFXの公式サイトでは、ScalaFX の 4 つの利点について言及しています。
1) 自然言語バインド式
-それはいいことですが、バインディングをあまり使用する予定はありません (GUI コンポーネント間イベントには EventBus を使用し、GUI コンポーネント内イベントにはいくつかのバインディングを使用するつもりです)。
2) カスタマイズされたアニメーション構文
-プロジェクトでアニメーションを使用する予定はありません。
3) 完全なタイプセーフ API
これは取るに足らない点のように思えるかもしれません… 型の安全性は、Java 開発者が常に持っていたもの (そして多くの場合、当たり前のことだと思っています) であり、他のスクリプト言語の開発者はそれがなくても生きています (その結果、無意識のうちに実行時エラーに悩まされています)。ただし、展開後に予期しないランタイム エラーやバグが発生しないアプリケーションを開発している場合、これは重要な機能です。
優れたコンパイラは、予想される型と実際の型を比較することで、多くの一般的なコーディングの間違いを見つけることができます。また、優れたコンパイラ (Scala など) は自動的に型を推測するので、コード全体でそれらを退屈に繰り返す必要はありません。
ScalaFX は、オブジェクトを明示的に型指定する必要がほとんどないスクリプトに似た DSL 構文と、すべての式と API 呼び出しの型を推測してチェックする Scala コンパイラの強力な型安全性により、両方の世界を最大限に活用します。これは、奇妙なコードのバグやスペルミスのデバッグに費やす時間を短縮し、すぐに高品質のコードを作成できることを意味します!
-これは面白そうですね!しかし、私の質問は次のとおりです。Scala から JavaFX を直接呼び出すと、ScalaFX を介して JavaFX を呼び出すのと同じタイプの安全性が保証されると思いますか? 知らない。
4) JavaFX/ScalaFX のシームレスな相互運用性:
-Scala から JavaFX を直接呼び出すと、ScalaFX 経由で JavaFX を呼び出す場合よりも、相互運用性の問題について心配する必要がなくなります。
要約すれば:
ポイント3は、単純なプロジェクトで私が気にかけている利点を私に与える唯一のもののようですが、彼らが実際に話しているタイプセーフの種類がわかりませんか?
型の安全性に関して、Scala から直接 JavaFX を呼び出すよりも、ScalaFX を介して JavaFX を呼び出すほうがよいのはなぜですか? Scala から直接アクセスする代わりに ScalaFX を使用すると、どのような追加の型安全性の利点が得られるでしょうか? ScalaFX がどのような種類の追加の型安全性を提供できるか本当に想像できないので、私はこれを尋ねています。
言い換えれば、ScalaFX がバインドのシンタックス シュガーとして優れていることは理解していますが、それ以上のものを提供しているのでしょうか? それが与える(非常に素晴らしい)シンタックシュガーなしで生きていけるなら、本当にそれを使うべきですか?
余分な複雑さ (およびバグの原因) を導入するこのラッパー層 (ScalaFX) を使用する価値のあるものは、砂糖以外にあるでしょうか?
ScalaFX の作成者の仕事に本当に感謝しています! より良い情報に基づいた決定を下せるようにするために、これらの質問をしているだけです。
javafx-2 - JavaFX KeyEvent.getText() は空を返しますか?
KeyEvent
のgetText()
メソッドのJavaDocによると、それは戻ります
キーが押されたイベントとキーが離されたイベントのキーコード (「HOME」、「F1」、「A」など) を表す文字列。キー タイプのイベントの場合、テキストは常に空の文字列です。
ただし、印刷しようとするとgetText()
、印刷可能な文字では期待どおりに機能しますが、他のキーでは機能しません。"a"
と"A"
は a キーと Shift-A キーを押した結果ですが、Home、F1、または矢印キーを押すと になります""
。同様に、Shift-A を押すと、A キーの前に Shift キーを押したことが登録されますが、getText()
Shift の場合は""
.
奇妙なことに、Ctrl + 何かのキーを押すと、印刷不可能なコントロール キーが生成されます。
これはバグですか、少なくともドキュメントと実際の動作の不一致ですか? 私は ScalaFX を使用しているので、Scala インターフェイスに問題がある可能性があると思いますが、実際にはScala ラッパーではなくjavafx.scene.input.KeyEvent
andjavafx.event.EventHandler
クラスを使用しているため、それが問題であるとは思えません。
scala - Scala FXMLコントローラーで線形チャートを設定するには?
線形チャートを表示する ScalaFX アプリケーションを構築しようとしています。
折れ線グラフ コントローラー メンバーを次のように定義しました。
そして、データを追加しようとしています
しかし、ここで2つのエラーが発生します:
最初のアイデアは「シリーズ」を強調表示し( 内lineChart.data.set(series)
)、「タイプの不一致、予想される:ObservableList [XYChart.Series [X、Y]]、実際のXYChart.Series [Number、Number]」と言います
2 番目 - ビルドしようとすると、「unbound placeholder parameter private val lineChart: XYChart = _」エラーが発生します。
助言がありますか?^