Veröffentlicht 24. April 200322 j 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...
25. April 200322 j 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...
25. April 200322 j 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
30. April 200322 j 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; }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.