問題タブ [focusmanager]

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 投票する
1 に答える
1697 参照

java - JLabel はフォーカスを受け取ることができないはずですが、そうですか?

フォーカスを処理するためにデフォルトの Swing メソッドを使用する Swing アプリケーションに取り組んでいます。期待どおりにフォーカスが機能しません。

あるケースでは、.requestFocusInWindow() と呼ぶ JTextField があります。ウィンドウが表示されると、代わりに JLabel にフォーカスがあります。

JLabel の Java 6 ドキュメントには、「その結果、キーボード フォーカスを取得できません」と記載されています。 http://docs.oracle.com/javase/6/docs/api/javax/swing/JLabel.html

ただし、JLabel がフォーカスを受け取り、KeyboardFocusManager.getFocusOwner() がそのコンポーネントを返すことを示すサンプル アプリケーションがあります。(http://github.com/akinsgre/swingStarter)

クラスのコードはhttps://raw.github.com/akinsgre/swingStarter/master/src/main/java/test/HelloWorldSwing.javaです

私が欠けているものを理解または説明するのを手伝ってくれる人はいますか?

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

wpf - MainWindow は、クリックされたときにフローティング ウィンドウからキーボード フォーカスを盗みます。

WPF にフォーカスする際に問題があります。フォーカスは一般的な問題ですが、私の問題に有効な解決策が見つかりませんでした。状況は次のとおりです。

ドキュメントをフローティングにドラッグできるエディター ソフトウェアがあります (Visual Studio のように)。[保存] ボタンは、すべてのエディター ドキュメントがホストされているペインの上のメイン ウィンドウに表示されます。ここで、1 つのウィンドウをフローティングさせ、もう 1 つのウィンドウをドキュメント ペインにドッキングさせたいと考えています。メイン アプリで [保存] ボタンを押すと、フローティング ウィンドウからフォーカスが奪われ、ドキュメント ペイン内のドキュメントが自動的にフォーカスされます。また、ボタンを直接クリックしてもクリックは何もしません。

フローティング ウィンドウがあるときに、アプリケーションがキーボード フォーカスを受け取らないようにするにはどうすればよいですか? フローティング ウィンドウをアクティブなウィンドウのままにしたいのですが、保存ボタンやメイン アプリケーションのメニューには引き続きアクセスできますか?

どんな助けでも大歓迎です!

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

java - editCellAt(row、col)を介してセルに編集が強制された場合、JTableセルはキーイベントを発生させません。

以下は私のコードの抜粋です。JTableがあります。DefaultCellEditorを拡張して、独自のエディターを作成しました。セルにキーリスナーとマウスリスナーを追加しました。JButtonもあります。JButtonをクリックすると、JTableの最初のセルを編集モードにします。このために、requestFocusとeditCellAt(0,0)を使用しました。私はこのコードをactionperformedに入れました。

これにより、カーソルが最初のセルに配置されます。しかし、私が何かを入力しても、重要なイベントは発生しません!注:マウスを使用してセルをクリックしてから入力すると、キーイベントが発生します。しかし、私はこの余分なクリックをしたくありません。

0 投票する
4 に答える
10433 参照

java - TAB を使用して、フォーカスを JTable の次のコンポーネントに変更します

JTable のデフォルトの動作はフォーカスを次のセルに変更することであり、TAB キーを押したときにフォーカスを次のコンポーネント (JTextField など) に移動させたいと考えています。のメソッド
をオーバーライドして、常に false を返すよう にしました。isCellEditableDefaultTableModel

しかし、それでもフォーカスは次のコンポーネントに変わりません! 次のセルではなく、次のコンポーネントにフォーカスを変更する
にはどうすればよいですか?JTable

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

java - JTableはENTERとTABへのフォーカスを失わない

上記のようにセル選択を設定した後、セルが選択され、セルに値を入力すると、セルは編集モードになります。ただし、値を入力した後、EnterキーまたはTabキーを押すと、セルはまだ編集モードのままです。他のコンポーネントのどこかを押すと、セルだけがエディターモードを閉じます。

これを解決する方法は?

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

actionscript-3 - Flex FocusManager - 複数バージョンのアプリで Tab キーを押すとスタック オーバーフローが発生する

サブアプリケーション (4.1 SDK を使用して構築) をロードするトップ アプリケーション (4.6 SDK を使用して構築) があります。アプリのこの状態では、ほとんどのコンテンツはサブアプリに含まれており、一部の UI 要素が上部アプリに表示され、サブアプリのコンテンツの周囲にフレーム (または「HUD」) を形成しています。

フォーカスを受け取るテキスト入力フィールドがない場所でタブを押すと、Flash Player がエラー #1023: スタック オーバーフローが発生しました でひどくクラッシュします。

スタック トレースの例を次に示します。

「サンドボックス化されたアプリケーションの開発」に関するアドビのガイドによると、FocusManager は、サンドボックス化されたマルチバージョンのアプリでも機能するはずです。

誰もこれを見たことがありますか?私が見逃している可能性のあるものはありますか?

注目すべき:

  • サブアプリは、別の ApplicationDomain を使用するように設定されている SWFLoader にロードされています。
  • トップレベル アプリケーションでタブ操作をサポートする必要はまったくありませんが、サブアプリに編集可能なテキスト フィールドがある場合はタブ操作が機能する必要があります。また、タブで移動するテキスト フィールドがある場合は問題なく動作します。

あらゆる提案を歓迎します。ありがとうございました!

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

wpf - FocusManager、ContentControl、および DataTemplate によるフォーカス

次の構造のアプリケーションで (キーボード) フォーカスを適切に機能させようとしています。

各コンテンツ テンプレート (「いくつかのコンテナー」) のルートでFocusManager.FocusedElement、テンプレート内の 1 つのコントロールに設定します。ItemsControl 内のすべての項目のうち、実際に表示されるのは ContentControls の 1 つだけです (「現在の」項目)。したがって、基本的には、最初のものを表示します。その中の [OK] ボタンにフォーカスがあり、ユーザーは Enter キーを押して確認できます。次に、これが非表示になり、次のコントロールが表示され、そのメイン コントロール (テキスト ボックスなど) にフォーカスがあり、ユーザーは Enter キーを押して確認できます (テキスト ボックスに入力して項目を確認するための小さなイベント処理)。

すべてが完了したら、ユーザーはツールバーのボタンをクリックして最初からやり直すことができ、最初の ContentControl が再び表示されます。しかし、今回はピントが合っていません。誰がフォーカスを持っているのかわからないので、最初のように機能させたいと思います。表示されたばかりの ContentControl (破線で表示されます) にフォーカスを設定しようとしましたが、その子にフォーカスが設定されません。どのデータ テンプレートが選択されているかわからないので (まあ、特別なコードを書かないとだめです)、手動でフォーカスを設定したり、子へのバインドを介してフォーカスを設定したりすることはできません。この時点で簡単なことを見逃しているのでしょうか?

一方、ユーザーがアクティブな ContentControl ボタンまたはテキスト ボックスを手動でクリックすると、Enter キーを押して確認できますが、次のアイテムではなく、ItemsControl にフォーカスがあるように見えます。私はこの焦点について頭を悩ませることができません。簡単な解決策はありますか?ContentControl からツリーをトラバースして正しいデータ テンプレートを取得するコードを作成する必要がありますか? そして、データ テンプレートまたは FocusedElement として設定されているコントロールに何らかの形でフォーカスすることができますか、それともデータ テンプレートごとに個別にコードを記述する必要がありますか?

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

wpf - 動的に変更するFocusManager.FocusedElement

私は以下のようなWPFxamlコードを持っています:

どうすればFocusedElementをViewModelのプロパティにバインドできますか?以下の同様のコード:

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

c# - MVVM を使用して WPF にフォーカスを設定する

複数のテキストボックスを持つグリッドがあります。ユーザーがフォーカスする可能性のあるアクションに応じて、テキスト ボックスの 1 つに変更する必要があります。私の現在のソリューションでは、ViewModel の文字列プロパティと xaml のデータ トリガーを使用してフォーカスを変更しています。それはうまく機能しますが、これを達成するのはかなり回りくどい方法のように思われるので、より明確な方法で行うことができるかどうか疑問に思っていましたか?

ご覧のとおり、プロパティの値と要素の名前は同じなので、要素ごとに 1 つのトリガーを使用するのではなく、単一のトリガーでこれを実行したいと考えています。

多分誰かがよりクリーンな方法を思い付くことができますか?

前もって感謝します

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

c# - wpf でのフォーカス マネージャーの問題

Popup動的にアタッチするウィンドウがありますUserControl。ここでは、最初のコントロールのフォーカスを設定する必要があります。私が使用する場合:

カーソルがUserControl 来ない。の最初の要素にフォーカスを設定するのを手伝ってくれる人はいますかUserControl

前もって感謝します。