問題タブ [swt]
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 - SWT:システムデバイスの変更(USBデバイスの接続/切断)の通知を受け取る
システムトレイに配置し、ユーザーがUSBデバイスを接続するたびに自動的にポップアップする必要があるSWTアプリケーションを作成しています(アプリケーションはコントロールパネルとして機能します)。
ネイティブ環境(この場合はwin32ですが、最終的にはプラットフォームに依存しないはずです)でこれを行う方法は、WM_DEVICECHANGEイベントをリッスンしてから、デバイスが切断されているかどうかを確認することです。
主題をグーグルすると、SWTは実際にはこのタイプのイベントを処理していないようです。誰かがこれを達成する方法について何か考えがありますか?私のフォールバックソリューションは、n秒ごとにUSBポートをサンプリングし、デバイスを探すことですが、これは私に関する限り、ノーノーソリューションです...
ありがとう、歓声
シャイ
java - CTabFolder で CTabItem を非表示にするにはどうすればよいですか
SWT/JFace アプリケーションでタブを非表示または非表示にする方法が見つかりません --- ユーザーが設定したその他の設定に基づいて、2 番目のタブを使用できるようにする (または使用できないようにする) 必要があります。
これを理解するのはそれほど難しいことではありません。
eclipse - JFace: ColumnViewerToolTipSupport によるサイズ変更可能なツールチップ
org.eclipse.jface.viewers.ColumnViewerToolTipSupport
マウスを任意の Java 要素に合わせたときに Eclipse IDE に表示されるものと同様のツールチップを作成する方法を誰か教えてもらえますか? つまり、ツールチップのサイズを変更できるようにしたいのですが、F2 キーをフックして、マウスのホバーに加えてオンデマンドでツールチップを表示したいと考えています。
独自のカスタム コントロールをツールチップ (a TableViewer
) に追加できましたが、ツールチップをサイズ変更可能に設定し、ユーザーがキー (esc キーなど) をクリックしたときにのみ消えるように設定する方法/方法がわかりません。これは可能ColumnViewerToolTipSupport
ですか?
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jface.snippets/Eclipse%20JFace%20Snippets/org/eclipse/jface/snippets/viewers/Snippet037FancyCustomTooltipsの例を参照として使用しました.java?view=マークアップ
ありがとう。
java - Eclipse SWT - Java プログラミングのジレンマ
ファイルを開き、ファイルに含まれるすべての画像を表示する Eclipse プラグインを作成しています。この画像表示は、GUI アプリケーションの一部です。各画像は、SWT Canvas ウィジェットに関連付けることによってレンダリングされます。ファイルを開くと、表示する必要がある画像の数を決定するために必要なすべての情報が得られます。すべての Canvas オブジェクトを次々に作成し、各 Canvas オブジェクトをデータ構造のような何らかのタイプの配列に格納することは理にかなっていると思います。開いたファイルごとに、表示する画像の数が異なります。を使用することにしましたArrayList
。
手順は次のとおりです。画像ごとに Canvas オブジェクトを作成し、すべての Canvas オブジェクトを に保存しますArrayList
。問題は次のとおりです。各 Canvas オブジェクトには、PaintListener
それにMouseListener
関連付けられた と があります。これは、サイズ変更と、画像が「クリック」されたかどうかを検出するためのものです。「for ループ」ですべての Canvas オブジェクトを作成しています。これには、次のように、各 Canvas オブジェクトにPaintListener
andを割り当てることが含まれます。MouseListener
`
`
問題PaintListener
: 変数 'i' を使用して、およびの異なる ArrayList でアクセスする要素を決定しますMouseListener
。ここでは説明のために「i」を使用していることに注意してください。「for ループ」で定義された変数「i」は、リスナーの内部クラスでは使用できないことに気付きました。とにかく...... リスナーがイベントを受け取ると、ArrayList の特定の要素にアクセスしようとするために使用する変数には、リスナーが定義されたときの値ではなく、現在の値が含まれます。
Javaでこれを回避するにはどうすればよいですか? 私が文字通り必要としているのは、本質的に次のように言う各リスナーの定義内のコードです。
`
`
リスナーが実行されるとき。
どんなアイデアでも大歓迎です。
ありがとう。
eclipse - Eclipse SWT 仮想コンポジットの質問
SWT を使用して仮想コンポジットを作成することは可能ですか?つまり、コンポジットの最大表示領域を超えて水平または垂直にスクロールできますか?
コンポジットのサイズが変更されても、ウィジェット (画像) の長さと高さを一定に保ちたいです。
表示する画像が 50 枚あり、コンポジットを最大化したときに一度に 10 枚しか表示できない場合、右にスクロールして残りの画像を表示できるようにしたいと考えています。
ScrolledComposite に何も表示させることができませんでした。
コンポジットを使用して水平スクロールバーを取り付けるだけで、最初のいくつかの画像を見ることができます。
ありがとう。
java - Eclipse RCP、SWT、JFace:ビューのみ(シェル全体ではない)にモーダルなダイアログを作成するにはどうすればよいですか?
シェル(アプリケーション)全体ではなく、ビューにモーダルなダイアログを作成する方法はありますか?たとえば、AというビューがBという別のビューに重なっている場合、ビューAに対してのみモーダルなダイアログを開きたいので、ビューBに切り替えると、ダイアログとビューAは次のようにカバーされます。ビューB.通常の方法ではない場合でも、とにかくこれを行うことができますか?
ありがとう!
java - SWTプロジェクトにSVGキャンバスを埋め込むサンプルコード?
SVG キャンバスを Java SWT プロジェクトに含める方法の良い例はありますか (特にHolongateですが、他のオプションにも興味があります)。さらに、実装がネイティブ ライブラリに依存する場合に備えて、Mac OS X、Windows、および Linux クライアントでこの SVG キャンバスをサポートする必要があります。ご指摘ありがとうございます。
java - ドラッグアンドドロップデザイナーなしでswtを紹介?
SWT を使用して小さな Java アプリケーションを作成することに興味があります。私は視覚障害者なので、IDE アプローチで典型的なドラッグ アンド ドロップ コントロールを使用することはできません。コードを使用してインターフェイスを作成する例を含む SWT の紹介へのポインタをいただければ幸いです。
java - SWT レイアウトの問題 - ラベルのパディングは可能ですか?
SWT GUI アプリで GridLayout を使用しています。各グリッド セルに対して次の GridData を定義しています。グリッド セル自体は単なるラベルです。
そして、私はこのように各ラベル要素を作成します -
今私の問題は、ラベル自体にverticalAlignmentプロパティ、verticalIndentプロパティ、およびsetAlignmentを使用しているにもかかわらず、テキストをグリッドセル領域( 25 x 25 )に対して垂直方向に中央揃えにすることができないことです。私は何かが欠けていると思います。グリッドセルで垂直方向の中央揃えを実現するにはどうすればよいですか?
resize - SWTキャンバスの場所
SWTの最新の安定バージョンを使用しています。
ToolBar、ScrolledComposite、およびCanvasを含むシェルがあります。Canvasは、ScrolledCompositeのコンテンツとして設定されます(例:scrolledComposite.setContent(canvas))。Canvasは、変更されない特定のサイズ(たとえば、400 x 400)で作成されます。一方、ScrolledCompositeは、使用可能な親シェルのクライアント領域を満たすために絶えず拡大または縮小しています。
親シェルにサイズ変更リスナーをアタッチして、次のことを試みます。a)上記のようにScrolledCompositeを拡大し、b)ScrolledComposite内でキャンバスを水平方向と垂直方向の両方の中央に配置します(コード例については以下を参照)。
これはMacOSXの場合とまったく同じように機能しますが、Windowsではサイズ変更イベントが発生し、新しい場所が適切に計算されますが、最終的にCanvasは0,0に戻ります。もう1つの小さな情報は、ウィンドウのサイズを継続的に変更すると、キャンバスがちらつき、正しい位置に短時間描画されているように見えることです。