問題タブ [imageicon]

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

java - Java-画像の中央にテキストを描画します

画像の中央にテキストを書く必要があります。書くテキストは必ずしも同じではありません。

私が使用しているコードはここにあります:

問題は、テキストが画像の中央にないことです。どうすればよいですか?

水平方向の中央にテキストを描画するだけです。

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

java - ListCellRendererでImageIconが遅い

class GridPanel extends JPanel静的内部クラスを持つToolSelectComboBox extends JComboBox、があり、これには2つの静的内部クラスToolSelectComboBoxModel implements ComboBoxModelとがありToolSelectComboBoxRenderer implements ListCellRendererます。パネルにはToolSelectComboBox(TSCB)が表示され、そのコンストラクターはモデルとレンダラーを私が作成したカスタムのものに設定します。ボックスは正しく作成され、そのモデルとレンダラーは正しく機能します。

ただし、レンダラーのgetListCellRendererComponent(...)メソッドは、それが返すImageIcononを使用します。JLabelアイコンは正しく読み込まれますが、(実行ごとに)コンボボックスを初めてクリックすると、画像の読み込みに1秒強かかります(または少なくとも非常に近くなります) 。これはファイルのロードに多少の遅れがあると思いますが、

  • これは私のローカルファイルシステム上の4kBファイルです
  • System.out.printlnコマンドの前後にコマンドを追加するとresult.setIcon(...)、それらはほぼ瞬時に相互に続きます。

私が気付いた奇妙なことは、printlnコマンドが2回起動されることです。1回はボックスをクリックしたとき、もう1回はアイコンが読み込まれたときです。

これは、親抽象クラスの単一のメソッドをオーバーライドする複数のクラスで動作するように設計されているため(アイコンへのパスを生成するため)、動作が遅いことに気付いたときに、コードを次のように変更したことにも注意してください。getIconさまざまなサイズのアイコン(16、32、および64ピクセルの2乗)をTreeMap<Tool.ImageSize, ImageIcon>(メソッドToolを持つ私が作成したインターフェイスです)に格納するコマンドを使用してアイコンを取得するだけImageIcon getIcon()です。

私の輸入品はすべて順調です。

どんな助けでもいただければ幸いです!

投稿しすぎたコードをお詫びしますが、理解できるようにしたかったのです。一方、理解するためにさらにコードが必要な場合は、遠慮なく質問してください。

コード(「」で始まり、*コメントのようなテキストを持つすべての行は、混乱したコードだけでなく、折りたたまれたJavaDocタグです):

このクラスにはメソッドが1つしかなく(の抽象メソッドCircleToolをオーバーライドして画像パスを取得する)、メソッドが機能するため(パスが正常に取得されるため、読み込みが遅いアイコンにすぎません)、このクラスは含めていません。AbstractTool

AbstractToolクラス:

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

java - JLabelの画像をクリックしたときのマウスのXとYの位置を取得する

ImageIcon 機能を使用して JLabel 内に画像を表示しています。

JLabel は JPanel 内に含まれています。

画像がクリックされたときに、画像に対するマウスの位置を取得したい。

画像を含む JLabel にマウスリスナーを追加することで、この問題を解決しようとしています。

どうやら画像の幅と高さでJLabelのサイズを設定しても、自動的にJLabelがJPanelのサイズに引き伸ばされるようです。

したがって、以下のコードを実行すると、画像のサイズが JPanel よりも小さい場合、X および Y 位置を取得すると、不要な値が返されます。

マウスの X 位置と Y 位置を取得できるように、JLabel のサイズを具体的に制限する方法はありますか?

または、画像に対するマウスの位置を取得するより良い方法はありますか? (どちらが良いでしょう)

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

java - ImageIconが左上のアプリウィンドウに表示されない

私はこのコードを持っています:

アプリウィンドウの左上に画像アイコンが表示されないのはなぜだろうか。代わりに、それはまだJavaカップのコーヒーロゴです。

何か問題でもありますか?

ありがとうございました

0 投票する
3 に答える
834 参照

java - JButton と ActionListener に関する問題

だから私は複数のJButtonsを持つペイントプログラムを持っています.そのボタンをクリックするアクションとそのボタンを関連付ける方法を知っている唯一の方法は、if (e.ActionCommand().equals("Label of the button here" ); ラベルが一致する場合、正しいアクションがあることがわかります.しかし、ここに私の問題があります.JButtonsを画像に変更しようとしているので、JButton first = new JButton("Hello"); の代わりに試しています.最初に JButton を持っている = new JButton(new ImageIcon("c:/.....")) そして画像を持っています. これはうまくいきます. しかし, 私の問題は, この後, を参照する方法がわからないことです.ボタンをクリックして、実際に何かを実行させます。

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

java - netbeans 上の Java イメージ パス

私はJavaで冒険しているので、マインスイーパを構築しています。メカニックが完成したので、ユーザーフレンドリーにしたいと思います。

毎回ボタンに ImageIcon を追加しようとしましたが、できません! Javaがこれでどのように機能するかわかりません!

私はこれをやっています:

(これが JButton を拡張しているとします)

次のようなパッケージがあります。

  • 掃海艇
  • マインスイーパ.コンポーネント
  • minesweeper.resources (ここで画像を整理しようとしています)
  • テスト (テストのみの一部)

私はそれを間違っていますか?(ofc、しかし、それはどのように正しいですか?)

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

java - Border を EmptyBorder に設定しても、JButton の境界線が消えない

JButtonMacでEclipseを使ってGUIを設計していて、設定したアイコンだけを表示するようにしたいです。Mac OS では問題ないように見えますが、それを jar ファイルにエクスポートし、Windows OS で轍を付けると、JButton次のようになります。

ここに画像の説明を入力

ボーダーはすべてEmptyBorderです。

私は何を間違えましたか?奥の四角を消すにはどうしたらいいですか?

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

java - JFrameに表示されるImageIconを変更

ここにこのコードがあります。メインメソッドを呼び出すときに、ユーザーが入力した画像ファイルを最初に表示してから、変更を適用します。私の最初の関数は grayscale() です。クリックすると、現在の画像のグレースケール バージョンが作成されるように、JMenuBar にグレースケール ボタンを用意しました。動作しますが、メソッドが適用された後、新しい画像を JFrame に表示できません。show(); を呼び出してみました。メソッド内ですが、元の画像が再び開かれます。グレースケール関数が機能していることはわかっていますが、結果の画像が表示されないだけです。作成後に image2 を表示するにはどうすればよいですか? 助けてくれてありがとう。

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

java - ImageIconスケーリングを実行するためのより効率的/高速な方法?

私はクロスワードパズルを作成および編集するためのアプリケーションに取り組んでいます。クロスワードパズルは、役立つ場合は最後に投稿したコードです。私は現在、コードのこの部分で発生した問題を解決しようとしています。

基本的に、使用しているGridLayoutによるサイズの変更を補正するために、サイズ変更後にJButtonのImageIconのサイズをJButtonのサイズに変更しようとしています。ただし、このコードの結果は、2つの理由で私の期待を完全には満たしていません。

  1. 225個の正方形すべてのサイズを変更するには長い時間がかかりますが、これは一般的なクロスワードサイズではないと思います。後でサイズ編集機能を作りたいので、もっと多くの正方形を処理できるようにしたいと思います。
  2. うまくいくこともありますが、拡大すると正方形が非常に狭くなることもあり、なぜそうなるのかわかりません。

基本的に、私はより速いアプローチを見つける必要があります。それを修正/改善する方法についてのアイデアはありますか?ペイントメソッドを介して更新を行うことで何か違いはありますか?

0 投票する
3 に答える
1381 参照

java - javax.imageio.ImageIO-アイコンをJFrameにロードできません

次のコードスニペットでは、javax.imageio.ImageIOを使用してJFrameインスタンスのアイコンを設定しようとしていますが、以下の例外が発生します。私が欠けているものを教えてください。


例外スタックトレース