問題タブ [jgoodies]

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 に答える
281 参照

java - jgoodies バインディング + 合体 頻繁な変更

可変レートでデータを更新する Java アプリがあります (かなり高速なデータ ストリームから受信され、制御不能ですが、最大 120K バイト/秒)、受信したバイト数/パケット数などの統計を表示したいと考えています。 、ダイアログ ボックスを使用します。

私はJGoodies バインディングを調べており、低レートで受信した人工データで予備的に機能するものを手に入れました。

私がやりたいことは、大まかに次のとおりです。

  1. Bean クラスを次のようにします。

    /li>
  2. 私のGUIの要素に4つのフィールドをバインドします

  3. stats.update()メインアプリケーションスレッドで必要な速度で呼び出すことができます。「更新」への呼び出しがGUIの変更リスナーをトリガーするものです
  4. GUI を指定できる低いレート (約 5 ~ 20 Hz) で「自動的に」更新するので、トリガーされたイベントの塊に圧倒されません。

私がやりたいことをさせてくれる適切なメカニズムはありますか?JGoodies DelayedReadValueModel を見ていますが、使い方がよくわかりません。

自分で手動で行う必要がある場合、おそらく次のことを行うと思います。

  1. Statistics のミラーリングされたコピーを持ち、ある種の更新フラグ、オリジナルからミラーリングされたコピーへのリンク、およびタイマーのタイムアウトを追加します。
  2. メソッドがupdate()呼び出されたら、更新フラグを設定し、次のようなメソッドを呼び出しますmaybePropagate()
  3. maybePropagate(): タイマーのタイムアウトが進行中の場合、またはミラーリングされたコピーへのリンクが null の場合、何もしません。それ以外の場合は、タイムアウトを開始し、更新されたデータをミラー コピーに送信し、更新フラグをクリアします。
  4. タイマーのタイムアウトが切れたときに、更新フラグが設定されていて、ミラーリングされたコピーへのリンクが null でない場合、更新されたデータをミラーリングされたコピーに送信し、更新フラグをクリアします。
  5. 前の 4 つの要素を実装すると、ミラー コピーの更新速度が最大になるため、通常の JGoodies BeanAdapter を使用してミラー コピーのフィールドに GUI 要素をバインドするだけで済みます。

助言がありますか?

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

java - jgoodies バインディング + 間接的な変更

アプリケーションで JGoodies バインディングを使用する適切な方法を理解しようとして頭が痙攣しています。

読み取り専用プロパティを持つ Bean であるクラス Article があります。Articleプロパティは決して変更されないため、「プレーンな」Bean であり、プロパティ リスナーを管理しません。記事の特定のプロパティを表示するために使用したい Swing JPanel があります。さまざまな Article オブジェクトをさまざまな時間に表示できます。

1つ以上のオブジェクトを介して次のことを行う何か(X)を探しています:

  1. X には、現在表示されている記事が含まれます。呼び出して、別の記事に変更することができX.setArticle()ますX.getArticle()。現在表示されている記事を変更する方法は他にありません。変更していることを認識させるために、X を通過する必要があります。
  2. JPanel をセットアップするときに、X を使用して、現在表示されている記事のさまざまなプロパティ (タイトル、作成者など) にバインドされる読み取り専用の JTextField を作成したいと考えています。
  3. (これは #1 と #2 に続きます) X.setArticle() が呼び出されるたびに、テキスト フィールドの内容が自動的に更新されます。

BeanAdapter を使用して ValueHolder に含まれる Article からプロパティ モデルを抽出し、BasicComponentFactory.createTextField() を使用してテキスト フィールドを作成しようとしましたが、Article クラスにバインドされていないプロパティがあるという不平を言うことを除いて、すべてうまくいくようです。com.jgoodies.binding.beans.PropertyUnboundException当たり前!私はそれを処理するための適切な「配管」を取得する方法がわかりません。それぞれArticleは変更できませんが、現在表示されている記事が別の記事を指している可能性があります。

助言がありますか?

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

java - JGoodiesのメモリリーク?? -Springがビューを表示しようとしたときにメモリ不足の例外が発生しました

コンポーネントの検証中または検証後に、メモリ不足の例外が発生することがあります。大きな検証結果<=20000をプロファイリングしようとしましたが、うまくいったので、大きくなりました。例外は20000を超える値で発生しますが、検証フレームワーク、コンポーネントバインダー、またはその他の固有のjgoodiesメモリリークを知っている人はいますか?

スレッド「signal-validationPerformanceTest」の例外java.lang.OutOfMemoryError:javaのjava.util.Arrays.copyOf(Arrays.java:2882)のJavaヒープスペース。javaのjava.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)。 lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)at java.lang.StringBuffer.append(StringBuffer.java:224)at org.springframework.core.style.DefaultValueStyler.style(DefaultValueStyler.java:107)at org.springframework .core.style.DefaultValueStyler.style(DefaultValueStyler.java:72)at org.springframework.core.style.DefaultValueStyler.style(DefaultValueStyler.java:100)at org.springframework.core.style.DefaultValueStyler.style(DefaultValueStyler.java :87)org.springframework.core.style.DefaultValueStyler.style(DefaultValueStyler.java:66)org.springframework.core.style.StylerUtils.style(StylerUtils.java:47)at org.springframework.webflow.core.collection.LocalAttributeMap.toString(LocalAttributeMap.java:312)at java.lang.String.valueOf (String.java:2827)org.springframework.core.style.DefaultValueStyler.style(DefaultValueStyler.java:78)at org.springframework.core.style.DefaultToStringStyler.styleValue(DefaultToStringStyler.java:91)atorg.springframework。 core.style.DefaultToStringStyler.styleField(DefaultToStringStyler.java:79)at org.springframework.core.style.ToStringCreator.append(ToStringCreator.java:156)at org.springframework.webflow.engine.impl.FlowSessionImpl.toString(FlowSessionImpl。 java:207)at java.lang.String.valueOf(String.java:2827)atorg.springframework.core.style.DefaultValueStyler。style(DefaultValueStyler.java:78)at org.springframework.core.style.DefaultValueStyler.style(DefaultValueStyler.java:107)at org.springframework.core.style.DefaultValueStyler.style(DefaultValueStyler.java:72)at org.springframework .core.style.DefaultToStringStyler.styleValue(DefaultToStringStyler.java:91)at org.springframework.core.style.DefaultToStringStyler.styleField(DefaultToStringStyler.java:79)at org.springframework.core.style.ToStringCreator.append(ToStringCreator.java :156)org.springframework.webflow.engine.impl.FlowExecutionImpl.toString(FlowExecutionImpl.java:499)at java.lang.String.valueOf(String.java:2827)at java.lang.StringBuffer.append(StringBuffer。 java:219)org.springframework.webflow.execution.repository.support.SimpleFlowExecutionRepositoryで。putFlowExecution(SimpleFlowExecutionRepository.java:130)at org.springframework.webflow.executor.FlowExecutorImpl.resume(FlowExecutorImpl.java:226)at com.mason.core.application.flow.ApplicationFlowEngine $ SignalEventTask.execute(ApplicationFlowEngine.java:188) com.mason.core.application.flow.ApplicationFlowEngine $ 1.run(ApplicationFlowEngine.java:99)でjava.lang.Thread.run(Thread.java:619)で

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

c++ - jGoodies への C++ バインディング?

これまでのところ、私が遭遇した最高の C++ UI ライブラリは Qt、GTK、および wxWidgets です。jGoodiesに似た、または「より優れた」既存のライブラリはありますか。私は成熟した (まだ単純な) 技術に興味があります。

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

swing - jgoodiesバインディング:フォーマットされた数値でJTextFieldを使用しますか?

doubleJGoodiesバインディングを使用しているBeanのフィールドにJTextFieldをバインドしようとしています。

これは、少なくともBean→JTextField方向で機能します。JTextField→Beanの方向では、1つの問題があります。JTextFieldの入力を開始すると、小数点以下の最初の桁の直後に更新が取得され、JTextFieldフォーカスが台無しになり、JTextField値が微調整されます。

String(問題は、GUIをモデルに適合させようとすることに起因するようですdouble

どうすればこれを修正できますか????

これを示すサンプルプログラム:

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

java - JGoodies リストバインディング

JGoodies リスト バインディングは、モデル内のリスト オブジェクトへのリスト コンテンツのバインディングをサポートしていますか? リスト モデルとドメイン モデルにリスナーを追加して、2 つの間の変更をかなり簡単に調整できることはわかっていますが、JGoodies がそれを行うかどうかはわかりませんでした。リスト選択イベントを処理するリストバインディングしか見つかりませんでした。

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

java - Java + Jgoodies バインディング: ラジオ ボタン バインディング

私は困惑しています... JGoodiesバインディングを使用して、ラジオボタンをEnumプロパティにバインドしようとしています。私はそれを機能させることができないようです。以下は簡単な例です。これは、それぞれが不変の数値と可変の「形容詞」プロパティを持つ Bean のテーブルです。ラジオボタンは「形容詞」プロパティにバインドされています。ラジオ ボタンをクリックすると形容詞が変更され、テーブル内の新しい項目を選択するとラジオ ボタンが更新されますが、ラジオ ボタンを押しても他のラジオ ボタンはクリアされません。これはなぜですか、どうすれば修正できますか?

また、PropertyChangeSupport を使用する必要がありますか? (特に違いはないようです)

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

java - JGoodies ハッシュマップ

プレゼンテーション モデルを使用してグラフ プログラムを作成しようとしています。JGoodies をデータ バインディングに使用するのは、文字列や数値などの単純な型の場合は比較的簡単でした。しかし、ハッシュマップでそれを使用する方法がわかりません。

チャートがどのように機能するか、および私の問題は何かを説明しようとします。

グラフは DataSeries で構成され、DataSeries は DataPoint で構成されます。データ モデルを作成し、同じモデルでさまざまなビューを使用できるようにしたいと考えています (例: 棒グラフ、円グラフなど)。それらはそれぞれ3つのクラスで構成されています。
例:
DataPointModel: データ モデル (値、ラベル、カテゴリ) を保持します。 DataPointViewModel: JGoodies PresentationModel を拡張します。DataPointModel をラップし、フォントや色などのビュー プロパティを保持します。DataPoint: 抽象クラス、JComponent を拡張します。異なるビューは、独自の UI をサブクラス化して実装する必要があります。

データ モデルのバインドと作成は簡単でしたが、データ シリーズ モデルをバインドする方法がわかりません。

要約すると、ハッシュ マップ プロパティを JComponent.components プロパティにバインドする方法を知る必要があります。私の意見では、JGoodies は十分に文書化されていません。インターネットで長い時間をかけて検索しましたが、問題の解決策が見つかりませんでした。

あなたが私を助けてくれることを願っています。

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

java - ジェネリックと SWT/JFace をサポートするデータバインディング ライブラリ?

JFace Databinding はジェネリックをサポートしていないため、特に型安全ではありません。彼らは Java 1.3 のサポートを維持したいと考えているので、どうやらそうはならないでしょう。

JGoodies は 2.0.0 以降ジェネリックをサポートしています。JGoodies 2 を SWT/JFace に移植した人はいますか? または、両方を許可する別のライブラリがありますか?

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

swing - テーブル内の行を選択するときにパネルの値を変更する方法: jgoodies

Jgoodiesバインディングを使用して、テーブルをデータにバインドしています。セルが選択されたときにパネル内の値が変更されるように、どのリスナーを実装する必要がありますか。

テーブルのモデル クラスは、Jgoodies バインディング クラスである AbstractTableAdapter を拡張します。

ありがとう