# Bild einfügen



## Kathy (4. Mrz 2011)

Hey,
wie kann ich in mein Java Programm ein Bild einfügen.
Also das ich ne GUI hab auf der das Bild dann gezeigt wird.

LG
Kathy


----------



## Gast2 (4. Mrz 2011)

entweder zeichnest du bild direkt auf ein JPanel (stichwort paintComponent()) oder du setzt dein Bild als ImageIcon eines JLabels.


----------



## jepj (4. Mrz 2011)

jep


```
Robot rob = new Robot();

        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
        Rectangle rec = new Rectangle(dim);

        Thread.sleep(3000L);
        BufferedImage bim = rob.createScreenCapture(rec);

        /**
         * x,y,r,g,b
         */
        List<int[]> pointRgbList = new ArrayList<int[]>(bim.getWidth() * bim.getHeight());

        for (int x = 0; x < bim.getWidth(); x++) {
            for (int y = 0; y < bim.getHeight(); y++) {
                int rgb = bim.getRGB(x, y);
                pointRgbList.add(new int[]{x, y, (rgb >> 16) & 0xFF, (rgb >> 8) & 0xFF, rgb & 0xFF});
            }
        }

        Collections.sort(pointRgbList, new Comparator<int[]>() {

            /**
             * red first
             */
            public int compare(int[] o1, int[] o2) {
                return (o2[2] - o2[3] - o2[4]) - (o1[2] - o1[3] - o1[4]);
            }
        });


        // draw red pixels
        final BufferedImage toDraw = new BufferedImage(bim.getWidth(), bim.getHeight(), bim.getType());
        Iterator<int[]> iter = pointRgbList.iterator();
        while (iter.hasNext()) {
            int[] e = iter.next();
            if (e[2] <= 0) { // not red
                break;
            }
            toDraw.setRGB(e[0], e[1], bim.getRGB(e[0], e[1]));
        }

        JFrame jf = new JFrame();
        jf.add(new JScrollPane(new JLabel(new ImageIcon(toDraw))));
        jf.pack();
        jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        jf.setVisible(true);
```

nur das letzte ab JFrame ist interessant


----------



## Asgar13 (4. Mrz 2011)

[JAVA=42]
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Canvas;

Canvas logo = new Canvas(shell, SWT.NONE);

	    logo.addPaintListener(new PaintListener() {
	      public void paintControl(PaintEvent e) {
	        Image image = new Image(display, "logo.jpg");

	        e.gc.drawImage(image, -1,-1);

	        image.dispose();
	      }
	    });[/code]

So sieht meine Variante zum Bildzeichnen aus.
Hoffe die ist unkompliezierter für dich.


----------



## Java123??? (4. Mrz 2011)

Mit der Methode paintIcon() würde so funktionieren:


```
URL fileURL = getClass().getResource("icon.gif");
testIcon = new ImageIcon(fileURL);
add(new MyPanel());
```

Dafür brauchst du dann noch ein JPanel:


```
class MyPanel extends JPanel {
   @Override
      protected void paintComponent(Graphics g) {
         super.paintComponent(g);
            testIcon.paintIcon(this, g, 10, 10);
      }
}
```

Mfg


----------



## Quaxli (4. Mrz 2011)

Ist die Suchfunktion eigentlich mal wieder kaputt? ???:L???:L???:L
Man sollte es nicht für möglich halten, aber genau diese Frage wurde schon 1 - 2 Mal gestellt...:autsch:


----------



## Andi_CH (4. Mrz 2011)

hm - unter dem Stichwort "Bild in GUI" hat es einen einzigen Eintrag

Die Suche nach "Bild in Gui einfügen" führt zum Bespiel 
hier hin

Aehm - ziemlich unübersichtlich
Das da ist auch ähnlich unübersichtlich

...

Also wenn es soooo einfach zu finden ist, warum anwortest du nicht  mit einem oder zwei Links und dem angehängten Hinweis dass die der Forumssuche entstammen? (Aber dann auch gleich mit den Verwendeten Keywords)

Also hier mein konstruktiver Beitrag:

google hilft beinahe immer


----------



## Java123??? (4. Mrz 2011)

Ich hab mal die Forumssuche mit den Keywords "Bild in GUI" benutzt. Da bin ich auf diesen Thread gestoßen JPEG anzeigen. Hier hast gleich im ersten Post ein funktionierendes Beispiel.


----------



## Quaxli (4. Mrz 2011)

Andi_CH hat gesagt.:


> ...
> 
> Also wenn es soooo einfach zu finden ist, warum anwortest du nicht  mit einem oder zwei Links und dem angehängten Hinweis dass die der Forumssuche entstammen? (Aber dann auch gleich mit den Verwendeten Keywords)
> 
> ...



Das von Java123 genannte Beispiel ist das 7. in der Liste, wenn man mit "Bild in GUI" sucht. Mit anderen Treffern wird man eher fündig. Ein bißchen Eigenanstrengung sollte wohl erlaubt sein?


----------



## andyy (4. Mrz 2011)

Andi_CH hat gesagt.:


> Also hier mein konstruktiver Beitrag:
> 
> google hilft beinahe immer



Das Orakel befragen hilft immer:

http://www.google.de/search?q=site%3Ajava-forum.org+bild+zeichnen+einfügen+gui


----------



## Asgar13 (4. Mrz 2011)

andyy hat gesagt.:


> Das Orakel befragen hilft immer:
> 
> site:java-forum.org bild zeichnen einfügen gui - Google-Suche



Wenn wir schon bei diesem Nivea sind:

Creating an Image From a File : SWT ImageSWTJava Tutorial

Wenn das hier noch ausführlicher wird müssen wir das Thema als Tutorial eröffnen


----------

