kostenloser Webspace werbefrei: lima-city


Bild mit SWT einfügen

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    tueddel

    tueddel hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e********l

    Ich meine mich zu erinnern das du immer eine Shell benötigst. Du müsstest also deinen GC auf die Shell legen. Das sollte klappen.
  4. Hi,

    kannst du bitte mal den Quellcode posten, dann sehe ich es mir gerne an.

    Gruß
    Manni
  5. Autor dieses Themas

    tueddel

    tueddel hat kostenlosen Webspace.

    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
  6. 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
  7. Autor dieses Themas

    tueddel

    tueddel hat kostenlosen Webspace.

    ok klappt wunderbar, vielen dank für die schnelle antwort

    tueddl
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!