Cancer Geschrieben 24. April 2003 Geschrieben 24. April 2003 Hi Leute! Ich hab in Java eine Applikation erstellt und möchte ein Image auf das Frame tun. Ein Logo oder sowas ähnliches...wie mache ich das denn. Geht das irgendwie über ein Panel oder so und wie würde das funktionieren? Und dann hab ich da auch gleich nochmal ein zweites Problem...hab eine List, in der ich mir Tabellen einer Datenbank anzeigen lasse. Diese Tabellen kann ich selektieren und dann Änderungen vornehmen, aber sobald ich eine Tabelle selektiere, wird der Abstand zwischen den Einträgen größer. Wie kann das sein? Schon mal Danke im Voraus... Zitieren
Bane Geschrieben 25. April 2003 Geschrieben 25. April 2003 hi, also ich habe bei mir einen button mit einem icon versehen, dass sollte doch so ähnlich funktionieren, oder? jButtonvor.setIcon(new javax.swing.ImageIcon(loadImageResource("icons","Forward16.gif"))); dafür benötigst du aber auch noch folgende methoden: private InputStream getResourceStream(String pkgname, String fname) { String resname = "/" + pkgname.replace('.', '/') + "/" + fname; Class clazz = getClass(); InputStream is = clazz.getResourceAsStream(resname); return is; } public Image loadImageResource(String pkgname, String fname) { Image ret = null; InputStream is = getResourceStream(pkgname, fname); try { if (is != null) { byte[] buffer = new byte[0]; byte[] tmpbuf = new byte[1024]; while (true) { int len = is.read(tmpbuf); if (len <= 0) { break; } byte[] newbuf = new byte[buffer.length + len]; System.arraycopy(buffer, 0, newbuf, 0, buffer.length); System.arraycopy(tmpbuf, 0, newbuf, buffer.length, len); buffer = newbuf; } //create image ret = Toolkit.getDefaultToolkit().createImage(buffer); is.close(); } } catch(java.io.IOException e) { new JOptionPane().showMessageDialog(this, "Datei konnte nicht geöffnet werden!", "Dateifehler", JOptionPane.ERROR_MESSAGE); } return ret; } versuchs einfach mal damit... Zitieren
Oortael Geschrieben 25. April 2003 Geschrieben 25. April 2003 Hi, ich würde ein ImageIcon erstellen und das auf ein Label packen. Das ganze nur noch in ein panel mit GridBagLayout hinzufügen und strecken. Ich hoffe ich konnte dir helfen. MfG Stefan Zitieren
i118jix Geschrieben 30. April 2003 Geschrieben 30. April 2003 Für das Zeichnen eines Image auf einem von java.awt.Component abgeleiteten Objekts ist es in den meisten Fällen unbedingt notwendig zu warten bis das Bild vollständig in den Speicher geladen ist, bevor es gezeichnet wird. Dies wird mit der aktuellen API nicht gewähleiste. Es ist daher nötig die MediaTracker klasse zu benutzen. public java.awt.Image getImage(String file) { Component observer = panel.getComponent(); Image img = panel.getImage(System.getProperty("user.dir",".") + "/de/jenix/www/myClasses/bloodsport/images/img1.jpg"); MediaTracker mt = new MediaTracker(observer); mt.addImage(img, 0); try { mt.waitForAll(); } catch (InterruptedException e) {} return img; } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.