問題タブ [seesaw]
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.
clojure - シーソー キー イベントが発生しない
Seesaw フレームで :key-pressed および :key-released イベントをリッスンしようとしていますが、イベントが発生しません。問題をリストボックスに絞り込みました。リストボックスが存在する場合、フレームはキーイベントをキャプチャしなくなります。これは、動作を示すコードの簡略化されたバージョンです。
キーイベントがトリガーされない理由を理解するのを手伝ってくれる人はいますか? どんな助けでも本当に感謝しています。前もって感謝します!
clojure - 単純なマインスイーパ ゲームの MigLayout を作成する方法は?
私は、主に言語を少し練習するために、単純な clojure マインスイーパ ゲームに取り組んでいます。「コア ゲーム エンジン」の準備が整ったので、簡単な UI を追加したいと思います。私はシーソーを調べましたが、これまでのところ非常にうまく機能しています。
私が苦労しているのは、使用したいmig レイアウトだけです。私の考えは、次のようなレイアウトにすることです。
ウィンドウのサイズが変更された場合、北、西、東、南が拡大するはずです。メイン パネルは、ゲーム ボードを表すすべてのボタンを含む固定サイズにする必要があります。
mig レイアウトについて読む前に、グリッド パネルを含むボーダー パネルを使用することを検討しましたが、seesaw github ページに記載されているとおりです。
Seesaw は、seesaw.core/form-panel 関数で GridBagLayout を基本的にサポートしています。これは中途半端であり、MigLayout (seesaw.mig) や JGoodies (seesaw.forms) を使用するほど強力ではないため、これを使用することはお勧めしません。
MigLayout を試してみたいと思います。私の最初の試み:
更新 1
北、南、西、東は今のところ無視し、少なくとも中央のボードを取得するために次のことを行いました。
apache - Seesaw-V2 対 Apache HTTP 対 NGINX
類似点と相違点は何ですか
- Seesaw-V2 (Google オープンソース)
- アパッチ HTTP
- NGINX
負荷分散に関してのみ。
clojure - Clojureシーソーでスライダーを使用する方法
私は clojure を初めて使用します (さらにシーソーを使用するのも初めてです) が、多くの Java の経験とかなりの量の Swing の経験があります。
いくつかのドロップダウン テキスト ボックスとスライダーを含むウィンドウを作成しようとしています。ただし、すべてのピースを (一度に 1 つではなく) 1 つのウィンドウに表示するのに問題があり、何らかの理由でスライダーが表示されません。
これに関する多くのチュートリアルを実際に見つけることができないため、明らかな何かが欠けている可能性があります。
これが私がやろうとしていることです...
)
私も次のようなことを試しました:
multithreading - clojure/seesaw のボタンから情報を返す
Clojure に関する別の質問があります。
そのため、現在プロジェクトに取り組んでおり、そのための GUI コンポーネントを作成しようとしています。すべての機能パーツが機能しているので、見栄えを良くして、シーソーの仕組みについてもう少し学びたいと思います。
基本的に、ユーザーが特定の種類のデータを入力するために使用できる一連の入力フィールド (つまり、テキスト フィールド、スライダー、コンボボックス) があります。ユーザーが「確認」ボタンをクリックすると、ボタンのアクションで前述の入力フィールドのすべての値が返されるようにします。スレッドの経験はあまりありませんが、(明らかに) 同時実行性の問題が発生する可能性があることは理解しています。どうすればこれを達成できますか?
参考までに、私のコードの小さなサンプルを次に示します。
また、誰かが私が見ることができる単純から中間の clojure コードを知っていれば、私は非常に感謝しています. 言語の理解を深めるために、適切に作成された clojure コードにもっと触れたいと思っています。
combobox - clojure/seesaw のコンボボックスのすべてのオプション
そこで、さまざまな要素をアルファベット順に並べたコンボボックスをいくつか作成しました。メニューのデフォルトの選択を一番上の値にしたくありません。むしろ、最も一般的に選択される値にしたいと考えています。Swing では、メンバー関数を呼び出してsetSelectedIndex()
、最も人気のあるメニュー値のインデックスを単純に渡すことができます。シーソーでこれを行うにはどうすればよいですか?シーソーのドキュメントには、オプションは:model
and と書かれていますが:renderer
、デフォルトのインデックスを設定できるものが見つかりません...
不足している追加のドキュメントはありますか?
swing - 遅れている Swing マインスイーパ ボードを加速するにはどうすればよいですか?
私は最近、シーソーフレームワークを使用して小さなマインスイーパ UI を作成しました。関連するコードはここにあります。
基本的には今のところすべて問題なく動作していますが、唯一の問題は、エキスパート レベルでプレイすることを選択した場合のユーザー エクスペリエンスが非常に悪いことです。その理由は、セルをクリックするたびに UI 全体が再描画され、これにはかなりの時間がかかる (平均 850 ミリ秒) ためです。
再描画を担当するコードは次のとおりです。
アイコン処理のコードは次のようになります
だから私の質問は、これにもっと効率的にアプローチする方法は? クリックの影響を受けるセル (JButton で表される) のみを更新することを考えましたが、自動クリアが多数の隣接セルを開く場合、これにもかなりの時間がかかる場合があります。
ボードを表すためにボタン付きの mig レイアウトを使用することは、一般的に合理的な選択ですか?
clojure - リスナー seesaw.core clojure
ここでClojureの新機能。
私には奇妙に思える動作を共有したいと思いますが、まったく問題ないかもしれません。github https://gist.github.com/daveray/1441520#file-seesaw-repl-tutorial-clj-L381のチュートリアル、より正確には、リスナーをラベルに追加することになっている部分に従いました。コンストラクターを作成してヘルパーを表示しましょう。
これは完全に機能します:
ただし、これはそうではありません。
異なる「スクロール可能な」配置に注意してください。2 番目のケースでは、コンパイラは「不明なイベント タイプ:selection seesaw.util/illegal-Argument (utils.clj:19)」と通知します。
最初のスニペットが機能し、2 番目のスニペットが機能しない理由がわかりません。Swing やその他の Java ライブラリに関する知識がありません