Bild mit SWT einfügen
lima-city → Forum → Programmiersprachen → Java
angeben
bild
code
display
erinnern
erzeugen
fehler
image
import
klappen
legen
pfad
problem
quellcode
sagen
shell
standard
string
zeichnen
zeile
-
Hallo,
ich hätte da mal wieder ein Problem und zwar möchte ich ein Bild mit dem SWT einfügen. Hört sich zwar nicht schwer an, aber ich habe es bis jetzt nicht geschaft das Bild tatsächlich in die GUI zu zeichnen.
Also bis jetzt habe ich das so gemacht:
gc = new GC(display);
Image img = new Image(display,"pfad.jpg" );
gc.drawImage(img, 0, 0);
damit wir das Bild zwar gezeichnet, aber nicht in der GUI an 0,0 sonder auf dem Desktop.
Jetzt weiß ich nicht wie ich das anders machen soll, weil Image ein Device fordert und das einzig sinnvolle für mich der display ist. Ich hab mir gedacht das ich irgendwo mein Shell übergeben muss nur bietet mir leider Image nicht die Chance dazu und wenn ich das Shell als Drawalbe bei GC angeben, seh ich das bild nie wieder.
Wäre super wenn mir einer sagen könnte was ich falsch mach
Gruß
Tüddel
Beitrag geändert: 16.12.2008 21:41:50 von tueddel -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
komplett sähe das dann so aus:
import org.eclipse.swt.widgets.*; import org.eclipse.swt.*; import org.eclipse.swt.graphics.*; public class MainGUI { Shell shell; GC gc; public static void main(String[] args) { new MainGUI(); } public MainGUI(){ Display display = new Display(); shell = new Shell(display); shell.setBounds(50, 50, 500, 500); shell.setText("Titel"); gc = new GC(display); Image img = new Image(display,"pfad.jpg"); gc.drawImage(img, 0, 0); shell.open(); while(!shell.isDisposed()){ if(!display.readAndDispatch()) display.sleep(); } display.dispose(); } }
der Fehler müsste ich denk ich in den zeilen 18-20 liegen, weil alles andere der Standard kram ist
tüddel -
Hi,
wie schon gesagt wurde, mußt du den gc auf der shell erzeugen:
gc = new GC(shell);
Dann darfst du das Bild erst nach dem Öffnen der shell zeichnen:
shell.open(); gc.drawImage(img, 0, 0);
Dann hast du erst mal das, was du wolltest.
Allerdings könnte es sein, dass die Probleme dann erst anfangen ;).
Beim Ändern der Fenstergröße wird das Bild nämlich nicht
automatisch neu gezeichnet.
Ich hoffe trotzdem ich konnte helfen.
Gruß
Manni -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage