問題タブ [swing]
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.
java - Javaから任意のアプリケーションへのキーボードイベントの送信(画面キーボード上)
私はJavaを使用したオンスクリーンキーボードの開発に取り組んでいます。このキーボードには、JComponent
すべての可能なキーがあります。ボタン上でマウスダウンが検出されたら、現在フォーカスしているアプリケーションに特定のキーボードコードを送信したいと思います。キーボード自体はJFrame
装飾なしで内部にあり、常にオンに設定されています。
Robotクラスを使用して、ネイティブキューでこれらのキーボードイベントをシミュレートできることがわかりました。ただし、この場合、を選択するJComponent
と、でキー押下が受信さJFrame
れ、他のアプリケーションでは受信できなくなります。
画面キーボードを「常にフォーカスなし」に保つにはどうすればよいですか?キープレスを送信するために別のアプローチを使用することはおそらく可能ですか?
java - JLabelで水平ギャップを追加する方法
私はJLabelを持っています(実際には、JXLabelです)。
アイコンとテキストを配置しました。
<icon><text>
次に、コンポーネントの左側に次のように間隔を追加します。
<space><icon><text>
JLabelを移動したり、画像を変更して間隔を追加したりする提案は受け入れません。
プレーンなJavaコードでそれを行う方法を知りたいだけです。
java - Javaで起動時にキーが押されているかどうかを確認する方法
プログラムの最初の起動時にポップアップする解像度選択ダイアログを作成しようとしています。ユーザーを退屈させないようにするために、チェックボックスでそのダイアログをオフにできるかなり標準的な機能を実装したいと思いますが、起動時に Alt キーを押したままにすると元に戻ります。
残念ながら、特定のキーが現在押されているかどうかを Java に問い合わせる明確な方法はありません。KeyListener を介して新しいキーが押されたことを通知されるように登録することしかできませんが、アプリが起動する前にキーが押された場合は役に立ちません。
java - Java で実行時にパネルを他のパネルに動的に追加するにはどうすればよいですか?
私は再びJavaに入ろうとしています(数年経ちました)。JavaでGUIコーディングを実際に行ったことはありません。私はこれを始めるために Netbeans を使ってきました。
仕事で C# で winforms を使用する場合、usercontrols を使用して UI の一部を作成し、それらをフォームに動的に追加します。
私はJPanels
C#でユーザーコントロールのように使用しようとしています。JPanel
というフォームを作成しましたBlurbEditor
。これにはいくつかの簡単なコントロールがあります。ボタンイベントの実行時に別のパネルに追加しようとしています。
これが私がうまくいくと思ったコードです:
残念ながら、これは機能していません。私は何を間違っていますか?
java - フォーマッタによってオーバーライドされた選択
を使用してにを適用しFormatter
ました。ユーザーがテキストフィールドをクリックしたときに、コンテンツを選択します。JFormattedTextField
FormatterFactory
フォーマッタが呼び出されるため、フォーカスリスナーが期待どおりに機能しません。これにより、最終的に値がリセットされ、最終的にフィールドの内容が選択解除されます。値が変わった後、Caretが右端の位置に移動し、フィールドの選択が解除されたことが起こっていると思います。
これを回避し、フィールドの内容を正しく選択する方法を知っている人はいますか?
java - Swing: ユーザーが原因の ItemEvent とアプリケーションが原因の ItemEvent を区別する方法はありますか?
Swing ベースのアプリケーションでコンボボックスを使用していますが、ユーザー イベントから生成された ItemEvent とアプリケーションによって発生した ItemEvent を区別するために何をすべきかを理解するのに苦労しています。
たとえば、コンボボックス ' combo
' があり、ItemListener ' ' で itemStateChanged イベントをリッスンしているとしlistener
ます。ユーザーが選択を項目 2 に変更するか、次の行を実行すると (疑似コード):
combo.setSelection(2)
.. これらのイベントを区別できないようです。
そうは言っても、私は決して Swing の専門家ではないので、質問しようと思いました。
ありがとう!
java - HTML を表示するとき、JEditorPane には Charset の問題がありますか?
次のコードがあります。
実行すると、フレームが空白であることがわかります。ただし、メタ タグから「; charset=ISO-8859-1」を削除すると、HTML が表示されます。これを防ぐために私ができる理由と方法 (私が制御できない HTML 文字列を手動でハッキングする以外に...)。
編集 #1 - putProperty( "Ignore-Charset", "true" ) 残念ながら違いはありません。
java - Java:Swingライブラリとスレッドセーフ
Swingライブラリにスレッドセーフがないという批判をよく耳にします。それでも、自分のコードで何をするのか、問題が発生する可能性があるかどうかはわかりません。
Swingがスレッドセーフではないという事実はどのような状況で発生しますか?
積極的に避けるべきことは何ですか?
java - 文字列をオンにする/ボタン アクションを実装する
完全な免責事項: 私は CS の学生です。この質問は、オブジェクト指向プログラミング用に最近割り当てられた Java プログラムに関連しています。コンソール関連の作業はいくつか行いましたが、GUI と Swing または Awt を使用したのはこれが初めてです。テキストを表示するウィンドウを作成するコードと、テキストをさまざまな色で回転させるボタンを作成するコードが与えられました。次に、代わりに色のラジオ ボタンを作成するようにプログラムを変更するように依頼されました。これは、API を調査する練習を行うことも目的としていました。私はすでに課題を提出しており、講師からコードをここに投稿する許可を得ています。
Javaでボタンアクションを実装する最良の方法は何ですか? いろいろいじった後、次のようなボタンを作成しました。
そして、アクションリスナーを追加しました...
actionPerformed メソッドのスタブは、使用方法を示すために既に作成されていますが、テンプレートにはボタンが 1 つしかないため、複数のボタンを実装する方法が明確ではありませんでした。String をオンにしてみましたが、String はプリミティブ型ではないため、switch ステートメントには使用できないことにすぐに気付きました。if-else チェーンを即興で作成することもできましたが、代わりに思いついたのがこれです。エレガントとはほど遠いように思えますが、もっと良い方法があるはずです。あるとすれば、それは何ですか?文字列をオンにする方法はありますか? それとも、よりスケーラブルな方法でアクションを選択しますか?
java - ListCellRenderer が子コンポーネントでイベントを発生させない
次の ListCellRenderer は、ネストされた ComboBox でクリック イベントを受け取りません。何かを有効にする必要がありますか?