Pasukaru
Grünschnabel
Aaaalsooo.. hier mein Problem:
Ich habe ein JFrame (Haupfenster), darin befindet sich ein Button (btBildAendern) und ein "ImagePanel". Das ImagePanel ist ein JFrame, das ich irgendwo hier aus dem Forum hab, um ein Hintergrundbild einzufügen.
Das Bild wird auch einwandfrei angezeigt. So, und nun zu der Stelle, an der ich nicht weiter weiß...
Wenn ich jetzt auf den Button "Bild ändern" klicke, soll anstelle von Bild1.gif ein anderes Bild angezeigt werden (Bild2.gif). Hab jetzt leider keinen blassen Schimmer was ich wo ändern/hinzufügen muss, damit das zweite Bild angezeigt wird. Bin ziemlich am verzweifeln, da ich mit meinem Latein am Ende bin.
Ich hoffe ihr könnt mir helfen.
Danke im Voraus für eure Bemühungen.
MfG
Pasukaru
Hauptfenster:
ImagePanel:
Ich habe ein JFrame (Haupfenster), darin befindet sich ein Button (btBildAendern) und ein "ImagePanel". Das ImagePanel ist ein JFrame, das ich irgendwo hier aus dem Forum hab, um ein Hintergrundbild einzufügen.
Das Bild wird auch einwandfrei angezeigt. So, und nun zu der Stelle, an der ich nicht weiter weiß...
Wenn ich jetzt auf den Button "Bild ändern" klicke, soll anstelle von Bild1.gif ein anderes Bild angezeigt werden (Bild2.gif). Hab jetzt leider keinen blassen Schimmer was ich wo ändern/hinzufügen muss, damit das zweite Bild angezeigt wird. Bin ziemlich am verzweifeln, da ich mit meinem Latein am Ende bin.
Ich hoffe ihr könnt mir helfen.

Danke im Voraus für eure Bemühungen.
MfG
Pasukaru
Hauptfenster:
Code:
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.Rectangle;
import javax.swing.JButton;
public class Hauptfenster extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JPanel jPanelBild = null;
private JButton btBildAendern = null;
public Hauptfenster() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(467, 322);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJPanelBild(), null);
jContentPane.add(getBtBildAendern(), null);
}
return jContentPane;
}
/**
* This method initializes jPanelBild
*
* @return javax.swing.JPanel
*/
private JPanel getJPanelBild() {
if (jPanelBild == null) {
jPanelBild = new ImagePanel("bin/Bild1.gif");
jPanelBild.setLayout(new GridBagLayout());
jPanelBild.setBounds(new Rectangle(249, 46, 154, 190));
}
return jPanelBild;
}
/**
* This method initializes btBildAendern
*
* @return javax.swing.JButton
*/
private JButton getBtBildAendern() {
if (btBildAendern == null) {
btBildAendern = new JButton();
btBildAendern.setBounds(new Rectangle(95, 121, 119, 42));
btBildAendern.setText("Bild ändern");
}
return btBildAendern;
}
}
ImagePanel:
Code:
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
/**
* Mit Hilfe diesen Panels ist es möglich, ein Image anzuzeigen.
*/
public class ImagePanel extends javax.swing.JPanel {
private static final long serialVersionUID = -4680452408782904433L;
private String pfadOfImage = null;
private Image image = null; // @jve:decl-index=0:
/**
* ImagePanel Construktor. Es wird der Pfad des Bildes benötigt.
*/
public ImagePanel(String imagePfad) {
super();
pfadOfImage = imagePfad;
image = new ImageIcon(pfadOfImage).getImage();
}
public int getImageHeight() {;
return image.getHeight(null);
}
public int getImageWidth() {
return image.getWidth(null);
}
/**
* Zeichnet das Image
*/
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(
image,
new Double(g.getClipBounds().getCenterX() - (image.getWidth(this) / 2))
.intValue(),
new Double(g.getClipBounds().getCenterY() - (image.getHeight(this) / 2))
.intValue(),
this);
}
}