Icon eines Label speichern

Tecwan

Aktives Mitglied
Ich verheddere mich dauernd im swing/awt-Gestrüpp... Hilfe!

Ich möchte einem jLabel eine Grafik aus dem Netz zuweisen, diese dann auf der Festplatte speichern und anschließend darauf zeichnen.

Ich habe:
Java:
// Laden der Grafik
String url = "http://server.org/xy.png";
try {                
    myLbl.setIcon( new ImageIcon(new URL(url)) );
} catch (Exception ex) {ex.printStackTrace();}
// Zeichnen
Graphics g = myLbl.getGraphics();
g.drawLine(x1,y1,x2,y2);

Soweit alles ok.
Bevor ich nun zeichne, soll das ImageIcon des Label gespeichert werden.
Schreiben ginge zB. mit
Code:
ImageIO.write(png, "png", new File("xy.png"));
wobei png ein awt.Image zu sein verlangt. Aber wie komme ich da ran?
Das
Code:
JLabel
myLbl kennt nur
Code:
.getGraphics()
und
Code:
.getIcon()
, wobei Letzteres keine Speichermethoden anbietet.
 

Tecwan

Aktives Mitglied
Naja, ok. Das hilft mir aber nicht weiter.

Mir geht es darum, das Icon des Labels zu speichern.

Es geht ja zB. mit
Java:
try {
    BufferedImage png = ImageIO.read(new URL(url));
    //Speichern auf Festplatte
    ImageIO.write(png, "png", new File("xy.png"));
    //und nochmals laden, diesmal von Festplatte und direkt in das Icon
    mapLbl.setIcon(new ImageIcon("xy.png"));
} catch (Exception ex) {ex.printStackTrace();}
Nur: was, wenn ich nun das Icon auch - nachdem ich darauf herum gekritzelt habe - speichern möchte?
 

njans

Top Contributor
Java:
Graphics g = myLbl.getGraphics();
Das solltest du lieber lassen. Wenn du unbedingt ein Bild malen willst, dann überschreibe die paintComponent Methode in einer Klasse, die beispielsweise ein JLabel oder JPanel erweitert.

Zu dem Icon:
Icon ist ein Interface. Wenn du einem Label ein ImageIcon übergibst, dann ist das weiterhin in dem Label vorhanden.
Java:
Image image = ((ImageIcon)label.getIcon()).getImage();
Mit nem Cast kannst du daraus wieder ein ImageIcon machen.
 

Tecwan

Aktives Mitglied
Danke sehr für deine Bemühungen.

Die graphics-Geschichte lasse ich erstmal beiseite.

Wenn ich jetzt das Image aus dem Label "herbeicaste", habe ich damit aber noch immer kein Objekt,
das ich mit
Code:
ImageIO.write(png, "png", new File("xy.png"));
speichern könnte.

Zum Mäusemelken.
 
S

SlaterB

Gast
hast du eine Begründung für das aktuelle Scheitern?
gibt es eine Exception, wird ein leere Datei erstellt, siehst du noch nicht die weitere Verarbeitung?

oder ist dein Problem gar nur, so einfach wie du es formuliert, dass die Variable image heißt und nicht png für den nächsten Befehl?..
 

njans

Top Contributor
Java:
	private BufferedImage convertImage(Image img)
	{
		BufferedImage image = new BufferedImage(img.getWidth(null), img.getHeight(null),BufferedImage.TYPE_INT_ARGB);
		image.getGraphics().drawImage(img, 0, 0,null);
		return image;
	}

Mit der Methode kann man ein Image zu einem BufferedImage machen. Das wäre die Lösung, die ich auf die Schnelle zusammengebaut habe.
Damit hast du dann auch ein BufferedImage, welches das Interface RenderedImage implementiert.

@Slater : ImageIo erwartet ein RenderedImage und das wird nicht von Image implementiert sondern nur von den Subclasses.
 

Tecwan

Aktives Mitglied
ahja...

Den Konstruktor für das BufferedImage kannte ich schon; mir war nur nicht klar, wie ich der leeren
Fläche zu Inhalt verhelfen kann.
Damit wäre auch die letzte Lücke geschlossen. :)

Vielen Dank jedenfalls. :toll:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Klick auf Icon eines Labels registrieren. Java Basics - Anfänger-Themen 4
G Icon für App Java Basics - Anfänger-Themen 1
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
thobren JTable Icon Java Basics - Anfänger-Themen 1
Tom/S JLabel Icon Farbe Java Basics - Anfänger-Themen 2
T Image Icon Java Basics - Anfänger-Themen 3
S ProgrammierHilfe dringend gesucht ( Icon bewegen) Java Basics - Anfänger-Themen 9
krgewb Icon von JButton ändern Java Basics - Anfänger-Themen 1
L Website Icon Java Basics - Anfänger-Themen 9
T JOptionPane mit eigenem Icon Java Basics - Anfänger-Themen 4
Hijo2006 Eclipse: Java Icon ändern Java Basics - Anfänger-Themen 9
J *JAR-ICON ÄNDERN, WIE?* Java Basics - Anfänger-Themen 2
J JLabel Icon neu zeichnen Java Basics - Anfänger-Themen 2
Z JLabel Icon ändern Java Basics - Anfänger-Themen 2
D Ein Icon ohne Pfad sondern mit Package. Java Basics - Anfänger-Themen 4
A Icon für Programm festlegen Java Basics - Anfänger-Themen 2
T Icon auf einem JTabbedPane? Java Basics - Anfänger-Themen 6
S Bild Icon aus ID3Tag auslesen Java Basics - Anfänger-Themen 4
L JLabel Icon Größe anpassen Java Basics - Anfänger-Themen 11
M Icon laden und anzeigen Java Basics - Anfänger-Themen 2
N Icon des Fensters Java Basics - Anfänger-Themen 10
H JButton - Icon(.png) aus resources laden Java Basics - Anfänger-Themen 23
S Gnome Icon Pack - erzwingt es die GPL? Java Basics - Anfänger-Themen 7
A jbutton - icon linksbündig, text zentriert Java Basics - Anfänger-Themen 10
SexyPenny90 JLabel Text und Icon untereinander verwenden Java Basics - Anfänger-Themen 3
B Java Jar Icon Ändern/Umweg? Java Basics - Anfänger-Themen 5
M Warum wird mein Icon bei den JTree Nodes nicht angezeigt? Java Basics - Anfänger-Themen 7
P Icon ändern Java Basics - Anfänger-Themen 8
M RadioButton change (active) icon? Java Basics - Anfänger-Themen 8
F Icon der runnable jar ändern Java Basics - Anfänger-Themen 3
brunothg Internal JOptionPane Icon ändern Java Basics - Anfänger-Themen 5
0 Icon in JLabel Java Basics - Anfänger-Themen 6
D Interface Icon Java Basics - Anfänger-Themen 7
T Icon wird nicht angezeigt Java Basics - Anfänger-Themen 9
P Java MenuItem Icon Systemtray Java Basics - Anfänger-Themen 3
J Icon JDialog mit Java 1.4 Java Basics - Anfänger-Themen 2
W Java-Programm als Icon mit Doppelklick einfach öffnen ? Java Basics - Anfänger-Themen 3
M Image-Icon Ändern Java Basics - Anfänger-Themen 15
S JTable mit Text UND Icon in einer Zelle Java Basics - Anfänger-Themen 5
R Icon auf JLabel nach Knopfdruck ändern Java Basics - Anfänger-Themen 20
J Elegante Art mehrere Label mit einem icon zu setzen Java Basics - Anfänger-Themen 13
J Menüleiste Kaffe-Icon entfernen wie? Java Basics - Anfänger-Themen 8
Mr.Isaaaac [SOLVED] System Tray Popup MenüItem mit Icon? Java Basics - Anfänger-Themen 7
D JFrame Icon setzen? Java Basics - Anfänger-Themen 8
TheKing Programm-Icon entfernen Java Basics - Anfänger-Themen 3
U Icon mit Pfeil und Menupunkten gesucht Java Basics - Anfänger-Themen 3
J Icon ändern? Java Basics - Anfänger-Themen 2
L Eigenes List Model für Icon + String -> Speicherhungrig? Java Basics - Anfänger-Themen 8
F icon von .jar ändern Java Basics - Anfänger-Themen 10
S Icons in Icon-Odner auslagern Java Basics - Anfänger-Themen 2
C JOptionPane mit Icon Java Basics - Anfänger-Themen 5
G Bild auf Button legen(bzw Icon) und Bild auf JFrame legen? Java Basics - Anfänger-Themen 7
G Image/-Icon wird nicht auf JPanel angezeigt Java Basics - Anfänger-Themen 4
1 Icon Cache leeren Java Basics - Anfänger-Themen 10
G JFileChooser - Change Icon Problem! Java Basics - Anfänger-Themen 2
D jar icon ? Java Basics - Anfänger-Themen 7
A Icon in der Titelzeile des JFrame Java Basics - Anfänger-Themen 2
M Icon einfügen Java Basics - Anfänger-Themen 2
M Prozessname/Icon von geöffneten Fenstern lesen. Java Basics - Anfänger-Themen 3
G JLabel - Icon und Text untereinander anordnen? Java Basics - Anfänger-Themen 2
H Icon links oben im JFrame deaktivieren? Java Basics - Anfänger-Themen 2
G Icon einbinden Java Basics - Anfänger-Themen 2
G Icon für JAR-Datei Java Basics - Anfänger-Themen 16
G Icon einfügen klappt nicht Java Basics - Anfänger-Themen 3
N In einer JToolbar das Icon ganz rechts anordnen Java Basics - Anfänger-Themen 5
G Icon einfügen Java Basics - Anfänger-Themen 4
M SystemTray zeigt kein Icon an Java Basics - Anfänger-Themen 11
B icon fehlt Java Basics - Anfänger-Themen 3
G FileChooser icon ändern? Java Basics - Anfänger-Themen 6
G programmerstellen mit icon Java Basics - Anfänger-Themen 4
J setDisabledSelectedIcon(Icon disabledSelectedIcon) Java Basics - Anfänger-Themen 2
T Icon? Java Basics - Anfänger-Themen 3
N Eigenes Icon in InputDialog geht nicht! Java Basics - Anfänger-Themen 7
N JMenuItem -> Icon & RolloverIcon Java Basics - Anfänger-Themen 2
D JOptionPane mit eigenem Icon Java Basics - Anfänger-Themen 2
G setborder zeigt das icon nicht an Java Basics - Anfänger-Themen 5
M Icon in Jar File Java Basics - Anfänger-Themen 2
C JTable - Checkbox, Icon, was auch immer. Java Basics - Anfänger-Themen 8
F Relative Pfade zu Fenster-Icon in Main-Methode? Java Basics - Anfänger-Themen 7
M icon anzeigen Java Basics - Anfänger-Themen 6
M JAR-Datei Icon zuweisen Java Basics - Anfänger-Themen 11
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
laxla123 Eigenschaften eines Algorithmus (determiniert vs.. deterministisch) Java Basics - Anfänger-Themen 2
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
J Farbe des Striches eines TitledBorders ändern Java Basics - Anfänger-Themen 2
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
walid Öffnungszeiten eines Geschäftes Java Basics - Anfänger-Themen 3
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
B Synchronisation eines kleinen Museums Java Basics - Anfänger-Themen 47
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
Sachinbhatt Was ist die Notwendigkeit eines Sammlungsframeworks in Java? Java Basics - Anfänger-Themen 2
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
B Produkt eines double - streams Java Basics - Anfänger-Themen 3
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben