問題タブ [awt]
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 で AWT スレッドの例外をキャッチするにはどうすればよいですか?
これらの例外のアプリケーション ログにトレースが必要です。デフォルトでは、Java は例外をコンソールに出力するだけです。
java - Toolkit.getDefaultToolkit() が AWTError をスローしたときに、Java で画像を読み取るにはどうすればよいですか?
Javaで画像ファイルを読んでいます
一部のシステムでは、これが機能せず、代わりに、sun/awt/motif/MToolkit について不平を言う AWTError がスローされます。
画像ファイルから java.awt.Image オブジェクトを作成するには、他にどのような方法がありますか?
java - JavaのImageIOでピクセルの配列をImageオブジェクトに変換しますか?
現在、次のコードを使用して、ピクセル値の配列 (元々は java.awt.image.PixelGrabber オブジェクトで作成されたもの) を Image オブジェクトに変換しています。
ImageIO パッケージのクラスを使用して同じ結果を得ることができるので、AWT Toolkit を使用する必要はありませんか?
Toolkit.getDefaultToolkit() は 100% 信頼できるとは思えず、AWTError がスローされることもありますが、ImageIO クラスは常に利用可能である必要があるため、メソッドの変更に関心があります。
java - JTS-Geometry を AWT-Shape に変換するにはどうすればよいですか?
com.vividsolutions.jts.geom.Geometry
(またはそのサブクラス) を実装するクラスに変換することは可能java.awt.Shape
ですか? その目標を達成するためにどのライブラリまたはメソッドを使用できますか?
java - Javaでウィンドウを中央に配置するには?
aや ajava.awt.Window
などのa を中央に配置する最も簡単な方法は何ですか?JFrame
JDialog
java - Javaで起動時にキーが押されているかどうかを確認する方法
プログラムの最初の起動時にポップアップする解像度選択ダイアログを作成しようとしています。ユーザーを退屈させないようにするために、チェックボックスでそのダイアログをオフにできるかなり標準的な機能を実装したいと思いますが、起動時に Alt キーを押したままにすると元に戻ります。
残念ながら、特定のキーが現在押されているかどうかを Java に問い合わせる明確な方法はありません。KeyListener を介して新しいキーが押されたことを通知されるように登録することしかできませんが、アプリが起動する前にキーが押された場合は役に立ちません。
java - 文字列をオンにする/ボタン アクションを実装する
完全な免責事項: 私は CS の学生です。この質問は、オブジェクト指向プログラミング用に最近割り当てられた Java プログラムに関連しています。コンソール関連の作業はいくつか行いましたが、GUI と Swing または Awt を使用したのはこれが初めてです。テキストを表示するウィンドウを作成するコードと、テキストをさまざまな色で回転させるボタンを作成するコードが与えられました。次に、代わりに色のラジオ ボタンを作成するようにプログラムを変更するように依頼されました。これは、API を調査する練習を行うことも目的としていました。私はすでに課題を提出しており、講師からコードをここに投稿する許可を得ています。
Javaでボタンアクションを実装する最良の方法は何ですか? いろいろいじった後、次のようなボタンを作成しました。
そして、アクションリスナーを追加しました...
actionPerformed メソッドのスタブは、使用方法を示すために既に作成されていますが、テンプレートにはボタンが 1 つしかないため、複数のボタンを実装する方法が明確ではありませんでした。String をオンにしてみましたが、String はプリミティブ型ではないため、switch ステートメントには使用できないことにすぐに気付きました。if-else チェーンを即興で作成することもできましたが、代わりに思いついたのがこれです。エレガントとはほど遠いように思えますが、もっと良い方法があるはずです。あるとすれば、それは何ですか?文字列をオンにする方法はありますか? それとも、よりスケーラブルな方法でアクションを選択しますか?
java - Java アプレット、AWT リフレッシュ、Mac OS X 10.4 での問題
AWT を使用して構築された Java アプレットがあります。このアプレットを使用すると、ハード ドライブから画像を選択してサーバーにアップロードできます。アプレットにはスクロール可能な画像のリストが含まれており、Windows、Linux、および Mac OS X 10.5 で正常に動作します。このアプレットは、Java Web Start 経由または Web ページ内で起動します。
弊社のアプレットは、Java のバージョン (1.4 または 1.5) に関係なく、Mac OS X 10.4 では正しく動作しません。スクロール時の誤った動作のスクリーンショットは、次の場所にあります。
http://www.lavablast.com/tmp/ui_error.png
簡単に言えば、画像をスクロールすると、アプリケーションのヘッダーまたはフッターに重なってしまうことがあります。この動作は、他のプラットフォームでは発生しません。Mac OS X 10.4 では、スクロールすると画像が間違った場所に表示されますが、その場所に画像を描画した後に画面を更新すればそれほど問題にはなりません。ただし、アプリケーションが誤って描画したことを認識していないため、更新されていないようです。
ウィンドウが最小化、サイズ変更、または移動されると、アプリケーションが更新され、正しく配置されていない要素が消えて、アプリケーションが通常どおり再開されます。背景画像を強制的に更新しようとしてかなりの時間を費やしましたが、失敗しました。(画像を直接再描画する、いくつかのパネルのすべての子を再描画するなど)したがって、Mac OS X 10.4でこの問題を解決するのに役立つヒントを探しています。最悪の場合、単に完全なアプレットをシミュレートしますリフレッシュ。
最近まで、すべてが Java 1.1 と互換性がありましたが、現在は 1.4 を必要とするいくつかの場所で変更されています。これらの変更が問題を引き起こしたとは思いません。追加情報として提供しているだけです。スクロール パネルの実装の詳細に興味がある場合は調査しますが、これは回避策を知っておく必要がある一般的なプラットフォームのバグであると想定しています。
問題を再現するには、次の Java Web Start アプリケーションを開きます: http://www.lavablast.com/tmp/opal-webstart.php.jnlp
たくさんの画像を含むフォルダを選択し、スクロールバーで遊んでください。ある時点で (かなり迅速に)、リフレッシュの問題が発生するはずです。
編集: ここで最初の提案に従い、背景画像を備えたすべてのコントロールを Swing の同等のものに置き換えましたが、問題はまだ残っています。(さらに、完全な変更を行うには他にも多くの修正が必要です)。他のアイデアはありますか?完全な更新を強制する単純な1行のコードは素晴らしいでしょう:)
Edit2: メイン スレッドがパネルを作成し、X スレッドを起動します。オブザーバー/通知パターンを使用して、スレッドが完了し、メイン コントロールに通知します。これにより、ページにパネルが追加されます。これは EventQueue.invokeLater を介して行われます。私が間違っていない限り、正しいスレッドで実行する必要があります。この問題は、余分なスレッドが実行されていなくても (ロード中など)、スクロールするときに最も深刻になります。
java - Java: Solaris 上の AWT
AWT はSolarisにどのように実装されていますか?
ie: 依存しているネイティブ ライブラリがある場合、どのライブラリに依存していますか?
java - Mac OS X で AWT フレームの描画可能領域を取得しますか?
ウィンドウの内容全体を手動で描画したいので、メソッドをサブクラス化java.awt.Frame
し、オーバーライドしました。paint()
ただし、グラフィックス オブジェクトでは、(0,0)は、最初の描画可能なピクセルではなく、タイトル バーの装飾内のウィンドウの左上隅に対応します。
Mac OS X 固有のfudge factorを使用せずに、クロスプラットフォームの方法で最初の描画可能なピクセル (つまり、装飾の高さ) の座標を決定できますか? ウィンドウの実際の描画可能領域を見つけるために、 Panelコンポーネントをネストする必要がありますか?
ここで、私のコードは、ウィンドウのペイント可能領域内の青い正方形を中央に配置できません。