私は周りを見回しJPanel
て、画像の背景を持つことができるように取り組んできました。これに関する情報が山ほどあることは知っています ( example 1とexample 2 )。これらのどちらも、まさに私が探しているものではありません。
私が探しているのは、他のすべてを維持しながら、背景画像を設定する関数または機能を追加する方法です。JPanel
私が現在抱えている問題は、拡張するいくつかのクラスがJPanel
あり、それらを変更して新しいImagePanel
クラスを拡張すると、コンストラクターが失敗することです (明らかにパラメーターが異なります)。これらのファイルの 1 つのコンストラクターを作成しましたがsuper( new BorderLayout() );
、これを機能させる唯一の方法は、レイアウトまたは背景画像のいずれかを破棄することです。両方を連携させることはできません。
これが最近の絶望的な試みです:
import java.awt.*;
import javax.swing.JPanel;
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(Image img, LayoutManager layout) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
super.setLayout(layout);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
誰かが私を助けてくれたり、私が探しているものを教えてくれたりしたら、それは素晴らしいことです. バックグラウンドスケーリングなどの非常にクレイジーな機能は必要ありません。画像を背景にして、他のすべての方法でその機能を維持したいだけです。
ありがとう。