Zum Inhalt springen

Image in Application einfügen?


Empfohlene Beiträge

Geschrieben

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...

Geschrieben

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...

Geschrieben

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

Geschrieben

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;

}

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...