ImageIcon eines Labels auf einem Panel in neuem Fenster anzeigen

chamaken

Mitglied
Hi Leute,

ich hab ein großes Problem bzgl. der Anzeige eines Bildes, welche mich schon stundenlang beschäftigen.
Kurzer Überblick:

Mittels eines "Öffnen"-Buttons öffne ich einen jFileChooser, mit welchem ich ein Bild auswähle.
Dieses Bild setze ich als ImageIcon eines jLabels, sodass ich es mittels .add() auf einem jPanel anzeigen lassen kann. All dies geschieht in der Event-Methode des "Öffnen"-Buttons.
Nun möchte ich nachher mittels eines weiteren Buttons ("vergroessern") dieses Bild in einem separaten Fenster ausgeben können, um zu zoomen und weitere Bearbeitungen vornehmen zu können.

Meine Frage ist nun, wie ich von der Event-Methode des zweiten Buttons auf das Bild der ersten Event-Methode zugreifen kann, bzw. ob ich direkt auf das ImageIcon zugreifen kann, da dies aber ja nur in der "Öffnen"-Methode erstellt wird?

Ich hoffe ihr habt Vorschläge, bei Bedarf kann ich auch Codestücke zeigen, wenn es klarer werden soll.
 
Warum speicherst du es nicht als Klassenvariable zwischen? Falls du mit dem Vergrößern-Button das JLabel auswählst, kannst du dir das Icon von dort holen.
 
Zum Beispiel so (Pseudocode):
Java:
class Bum
{
JLabel imageLabel=new JLabel();
BufferedImage image;

public Bum()
{
image=ImageIO.read(new URL("http://www.java-forum.org/images/misc/java_forum_org.gif");
imageLabel.setIcon(new ImageIcon(image);
JButton button=new JButton("vergrößern");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
machWasTollesMit(image);
}
);
}
}
 

Zurück
Oben