Antwort
von
nach einem Tag
1
hilfreich
Re^3: Java 2 Panelsbild,buttons in ein Frame
Hallo,
hier ist mal ein funktionierendes Beispiel.
Den Rest musst du dann schon allein machen.
Learning by doing.
Quelle: http://www.java2s.com/Code/Java/Swing-JFC/Panelwithb... leicht modifiziert von mir.
Pfad und Dateiname des Bildes anpassen!!
Ich denke mal, damit kannst schon was anfangen
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ImageTest {
public static void main(String[] args) {
//ImagePanel panel = new ImagePanel(new ImageIcon(PfadUndDateiname).getImage());
ImagePanel panel = new ImagePanel(new ImageIcon("38205-1.jpg").getImage());
JFrame frame = new JFrame();
JButton button = new JButton("Was weiss ich");
button.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
javax.swing.JOptionPane.showMessageDialog(null,
"Irgend eine Aktion",
"Info",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
});
panel.setLayout(new java.awt.GridBagLayout());
panel.add(button, new java.awt.GridBagConstraints());
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}
@Override
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
Viele Grüsse
Torsten