あなたは非常にフレンドリーな初心者のために、プログラマ自身で新しいコントロールを定義するようになってきているので、先に述べた、AWTは、画像を表示する直接制御を提供することはできません、これはショートボードは、批判されています。この問題は、Swingを取り除くためにも、スイングが、シングルイメージビューを提供していませんが、画像を表示するJLabelのラベルコントロールを使用します。JLabelのラベルのアイコンを設定するために使用されるラベル上のテキスト、およびsetIcon方法を設定するためのSetTextメソッド、状況を呼び出すかどうかの二つの方法によれば、示されたタグの内容は、次の3つの条件に分けることができる:
1、唯一のコールsetTextメソッド、setIconメソッドが呼び出されていない場合、ラベルは、テキストのみを表示します。
2、唯一のsetIconメソッドを呼び出し、SetTextメソッドは、その後、ラベル表示画像のみ呼び出されません。
右、左と右のテキスト上のテキストや画像、そして左の画像、テキストを表示しながら3は、順番に両方の呼び出しのsetTextメソッドは、その後、ラベルsetIconメソッドを呼び出します。
ただし、入力パラメータsetIconアイコンアイコンの種類の方法は、画像は、アイコンキャッシュ型に変換されることを意味前述した画像BufferedImageを、キャッシュされていません。ツールアイコンは、インターフェイスを実装し、それは入力パラメータsetIcon方法の例として使用することができるので、前記変換処理は、イメージアイコン画像アイコンのツールを使用します。メソッドイメージアイコンを構築することにより、次のように、アイコンに特定の変換コードをオブジェクトの画像をキャッシュすることができるであろう。
//画像ファイルがキャッシュ画像に読み込まれ たBufferedImageイメージ= ImageIO.read(新しい新しいファイル(「E:/apple.png」)); イメージアイコンアイコンは=新しい新しいイメージアイコン(イメージ); //アイコンを作成します
もちろん、イメージアイコン自体は、なぜ、読み込んだ画像ファイルにキャッシュされた画像を通過し、両手でそれをシフトし、ツールアイコンのですか?パスが読み込まれ、指定したファイルに直接移動します。だから、アイコンオブジェクトを作成するコードの画像ファイルに基づいて、次のようになります。
=新しいイメージアイコンイメージアイコンアイコン(「E:/apple.pngは」); //指定されたパスのアイコンを作成します
しかし、コンストラクタ数で渡された文字列の意味は何ですか?文字列が右側のファイルパスでなければなりませんか?明らかに文字列が渡される方法が厳密ではありません。より良いURLアドレスオブジェクトを渡すために、明確かつ単純にコンパイラに指示します、入力パラメータのコンストラクタは、次のコードのように表現として、合法的なファイルのアドレスでなければなりません。
URLのURL =新しいURL( "ファイル :/// E:/apple.png"); // ローカルパスのURLオブジェクトの作成 イメージアイコンアイコン=新しいイメージアイコン(URL)を ; //は指定されたURLのアイコンを作成します
URLオブジェクトを構築する際に、ファイルパス文字列の接頭辞「ファイル:///」を追加することを注意、ローカルファイルパスとして文字列ことを示しています。ローカルファイルに加えて、サンプルコード、URLオブジェクトは、ネットワークファイルを表現するために、ネットワークの単純完全なHTTPアドレスがファイルに渡すことができ、その後、ネットワークピクチャからアイコンオブジェクトを作成し使用することができる次の通りであります:
//ネットワークアドレスURLオブジェクトを作成し、URLのurlは=新新( "https://profile.csdnimg.cn/C/1/5/1_aqi00")URLの イメージアイコンアイコン=新しい新しいイメージアイコン(URL); //から1を作成ネットワークアイコンの画像
上記構成方法のいくつかは、アイコンオブジェクトを作成するために使用することができます。アイコンオブジェクトを取得した後、あなたは画像を表示するsetIconメソッドを呼び出し、ほかのラベルコントロールのアイコンとテキストの間のギャップ距離を設定するsetIconTextGapメソッドを呼び出すことができます。
次のように各ラベル上のテキストの画像の結果の組み合わせを示すで次に、見て、第一、のみ表示された画像が表示されていないテキスト、コード例を呼び出すのラベル制御方法は、次のとおり
=新しいイメージアイコンイメージアイコンアイコン(「E :/apple.png」); // アイコンに指定したパスの作成 label.setIcon(アイコン); //設定アイコンラベル label.setText(NULL); //ラベルのテキストを設定します空である場合、テキストは表示されません。
テストを実行するには、上記、下記に示すポップアップウィンドウインタフェースは、ラベル上の可視像が中央に配置さ。
そして、表示画像やテキストの準備、および方法はsetIconのsetTextメソッドは、指定されなければならないラベル制御オブジェクトは、次のように、この時点で、呼び出し元のコードは、空ではありません。
イメージアイコンアイコン=新しいイメージアイコン(「E :/apple.png」); // 指定されたパスのアイコンの作成 label.setIcon(アイコン); //ラベルアイコン(テキストの左のアイコン)を設定 label.setIconTextGap(10)。 //は、アイコンとテキストの間のギャップの大きさに設定 label.setTextを(「これはリンゴである」); //ラベルのテキストを設定します
テストを実行するには、上記、下記に示すポップアップウィンドウインターフェースは、可視画像とテキストが出て表示されます。
ここでも、ないテキストのみの表示画像は、呼び出し元のコードラベルコントロールは、次のように:
label.setIcon(NULL); //設定タブのアイコンが空である場合、画像は表示されません label.setTextを(「これはリンゴである」); //ラベルのテキストを設定
上記のテストを実行するには、以下に示すポップアップウィンドウのインターフェイスは、通常のテキストラベルを制御JLabelの目に見えるようになります。
より多くのJavaテクノロジの記事「を参照してください章のJavaの開発ノート(オーダー)リスト」