SWT - Images wiederbenutzen

Status
Nicht offen für weitere Antworten.

ich_wills_wissen

Bekanntes Mitglied
Hallo mal wieder :)

Weiß jemand ob es möglich ist unter SWT Image Objekte mehrfach zu verwenden ?

Hintergrund:

Ich habe eine Tabelle und will dass in einer TableColumn in jeder Zeile immer das selbe
Bild angezeigt wird. Jetzt habe ich im Konstruktor meiner Klasse

Code:
Image meinBild = new Image(blabla...);


stehen. später greife ich in einer Methode in einer Schleife immer wieder auf das Image-Objekt zu und
weise es eine TableItem zu. Jetzt schmeißt Eclipse eine Exception:

org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(SWT.java:2691)
at blablabla.... blabla....

Das ist jetzt nicht war, oder ? :bahnhof:
Ich muss doch jetzt nicht echt für jedes TableItem ein neues Image-Objekt kreieren, oder ?
(Hab das schon ausprobiert und das geht voll auf die Performance... :x )

Weiß jemand eine gute Lösung für das Problem ?

Danke und Gruß,

ich_wills_wissen :###
 

ronny

Bekanntes Mitglied
Hallo!

Als erstes würde ich dir empfehlen, Tabellen grundsätzlich mit dem jface TableViewer zu machen...
ein nützlichen Tutorial gibts hier:

http://www.eclipse.org/articles/Article-Table-viewer/table_viewer.html

Dort ist auch beschrieben, wie ein Image Caching für SWT/jface funktioniert... ist ungefähr
mittig und du musst dir dort den source-code mal runterladen und angucken... :###
Da gibts so Sachen wie ImageRegistry / ImageDescriptor usw. mit denen du
Bilder cachen kannst, damit die net immer neu geladen werden.

Den Horror mit Table und TableItems rumzufrickeln und so weiter mit pure SWT würde ich knicken..
Der TableViewer von jface funktioniert ähnlich der Table von Swing.. mit Datenmodel
und so weiter... halbwegs komfortabel.... :wink:

Ansonsten gibts immer noch die Möglichkeit, die Images static in irgend einer Helperklasse
unterzubringen und diese dann immer bei Bedarf zu holen... Das geht auch mit dem
ImageDescriptor / ImageRegistry so ähnlich... Aber wenn du da dann schon die jface
Abhängigkeit hast -> auf jedenfall den TableViewer nutzen.. :D
 

SamHotte

Top Contributor
Sieht bei mir in der Helper-Klasse etwa so aus:
Code:
public final class Helper 
{

  private static ImageRegistry imageRegistry;

  public static ImageRegistry getImageRegistry ()
  {
    if (imageRegistry == null) {
      imageRegistry = new ImageRegistry();
      imageRegistry.put("baustelle", ladeBild("baustelle.gif"));
      imageRegistry.put("update", ladeBild("update.gif"));
      imageRegistry.put("file", ladeBild("file.gif"));
      // weitere Bilder
    }
    return imageRegistry;
  }

  static ImageDescriptor ladeBild (String name)
  {
    // Bilddatei irgendwie laden
  }

}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Images laden nicht AWT, Swing, JavaFX & SWT 14
T JavaFX Label mit mehreren Images AWT, Swing, JavaFX & SWT 11
J Images drehen AWT, Swing, JavaFX & SWT 5
F Kollision zweier Images AWT, Swing, JavaFX & SWT 3
V JavaFX Teile eines Images Transparent machen AWT, Swing, JavaFX & SWT 4
B 2D-Grafik Shade eines Images AWT, Swing, JavaFX & SWT 1
D Applet Auslesen von Images aus Ressourcen AWT, Swing, JavaFX & SWT 29
B 2D-Grafik Dynamisches Erstellen von Images und deren Animation AWT, Swing, JavaFX & SWT 4
S Images färben und transparenz ändern AWT, Swing, JavaFX & SWT 4
I Größe eines rotierten Images AWT, Swing, JavaFX & SWT 3
C SWT probleme beim einbinden von Images AWT, Swing, JavaFX & SWT 2
M SWT Images bei Toggle Button wechseln AWT, Swing, JavaFX & SWT 3
reibi SWT Teilbereich eines Images markieren AWT, Swing, JavaFX & SWT 7
Developer_X Uneditable JTable mit Images AWT, Swing, JavaFX & SWT 2
G AWT Images aus Imagearray an die Maus pappen und bewegen AWT, Swing, JavaFX & SWT 4
N Java Choice Bilderausgabe - images - - image - AWT, Swing, JavaFX & SWT 2
Luk10 AWT Casten von images AWT, Swing, JavaFX & SWT 11
S SWT Images zu Byte Arrays AWT, Swing, JavaFX & SWT 5
G Images in GUI anzeigen lassen AWT, Swing, JavaFX & SWT 2
Fadi Images in JAR Datei laden? AWT, Swing, JavaFX & SWT 5
T 2 Images (jpg) zu einem zusammenfügen - nebeneinander AWT, Swing, JavaFX & SWT 3
S java.net.MalformedURLException: no protocol:/images/Home.jpg AWT, Swing, JavaFX & SWT 14
S [SWT] Toogle Button 2 verschiedenen images? AWT, Swing, JavaFX & SWT 6
S aktuelle möglichkeit images zu laden? AWT, Swing, JavaFX & SWT 2
T Aus farbigen images (JPG) graustufen images erstellen AWT, Swing, JavaFX & SWT 8
R Images anpassen AWT, Swing, JavaFX & SWT 4
H 2 Images positionieren AWT, Swing, JavaFX & SWT 9
orenishii mehrseitig Images anzeigen und drucken SimpleBook.java AWT, Swing, JavaFX & SWT 5
S Images in JAR AWT, Swing, JavaFX & SWT 6
V Bilder -> SWT Images in einer Datei serialisieren und des AWT, Swing, JavaFX & SWT 9
G Warum gehen meine Icons/Images nicht weg? AWT, Swing, JavaFX & SWT 2
M Images werden nicht scharf AWT, Swing, JavaFX & SWT 3
A Wie kann ich Images schneller laden? AWT, Swing, JavaFX & SWT 18

Ähnliche Java Themen

Neue Themen


Oben