このJPanelは画像を背景として動的に読み込むことができます
次のようにコードをコピーします。
java.awt.Graphicsをインポートします。
java.awt.Imageをインポートします。
java.awt.Toolkitをインポートします。
javax.swing.JPanelをインポートします。
/**
* 背景として画像を動的に読み込むことができる JPanel
*/
public class ImagePanel extends JPanel{
画像は;
//コンストラクタはJpanelのサイズを決定します
public ImagePanel(画像イメージ) {
this.im = 私;
//パネルのサイズが適応できるといいのですが
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(幅,高さ);
}
//背景を描画します
@オーバーライド
protected voidPaintComponent(グラフィックス g) {
// 画面をクリア
super.paintComponent(g);
g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
JPanel パネルに背景画像を設定する別の例
次のようにコードをコピーします。
java.awt.* をインポートします。
javax.swing.* をインポートします。
public class デモは JFrame を拡張します
{
publicDemo()
{
super("タイトル");
NewPanel p = 新しい NewPanel();
this.getContentPane().add(p); // パネルを JFrame に追加します。
this.setSize(596,298); //初期ウィンドウサイズ
this.setLocationRelativeTo(null); // ウィンドウを中央に設定します。
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args)
{
新しいデモ();
}
クラス NewPanel は JPanel を拡張します
{
パブリック NewPanel()
{
}
public void ペイントコンポーネント(グラフィックス g)
{
int x=0,y=0;
java.net.URL imgURL=getClass().getResource("test.jpg");
//test.jpg はテスト画像であり、Demo.java と同じディレクトリに配置されます。
ImageIcon icon=新しいImageIcon(imgURL);
g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);
その間(真)
{
g.drawImage(icon.getImage(),x,y,this);
if(x>getSize().width && y>getSize().height)break;
//このコードは、ウィンドウが画像よりも大きい場合でも、画像がウィンドウ全体をカバーできるようにするためのものです。
if(x>getSize().width)
{
x=0;
y+=icon.getIconHeight();
}
それ以外
x+=icon.getIconWidth();
}
}
}
}