Moin moin!
Kann man einem Panel ein Hintergrundbild(ImageIcon) zufügen?
Bei einem Button klappt das ja ganz gut.
Gruß Ronn
Kann man einem Panel ein Hintergrundbild(ImageIcon) zufügen?
Bei einem Button klappt das ja ganz gut.
Gruß Ronn
DTR hat gesagt.:Im Zeifelsfall geht es indem du die paint() Methode überschreibst, und ein drawImage darin aufrufst. Einfacher ist es aber wohl ein JLabel zu verwenden in dem du das Image Zeichnen lässt. Aber wenn einen Layoutmanager verwenden willst musst du auch hier die paint() Methode überschreiben.
class TheClass extends JPanel {
ImageIcon icon;
public TheClass(String imageName) {
icon = new ImageIcon(imageName);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Insets insets = getInsets();
icon.paintIcon(this, g, insets.left, insets.top);
}
}
import java.awt.*;
import javax.swing.*;
public class GraphicPanel extends JPanel {
ImageIcon icon = new ImageIcon("f:\\logo.gif");
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Insets ins = getInsets();
icon.paintIcon(this, g, ins.left, ins.top);
}
}
import java.awt.*;
import javax.swing.*;
public class PaintingTest extends JFrame {
private void initialize() {
setLocation(25, 25);
setSize(550, 100);
JButton aBtn = new JButton("BUTTON");
setContentPane(new GraphicPanel());
getContentPane().setLayout(new FlowLayout());
getContentPane().add(aBtn);
}
public static void main(java.lang.String[] args) {
PaintingTest pt = new PaintingTest();
pt.initialize();
pt.setVisible(true);
}
}