# bild öffnen mit BufferedImage



## Guest (13. Apr 2007)

hallo,

würde gern ein bild (jpg) öffnen um es zu verkleinern und anschliessend zu speichern.

```
BufferedImage buffimg=read(files[i]);
```

ich habe alle nötigen pakete importiert und erhalte eine fehlermeldung:

```
import java.awt.*;
import javax.swing.*;
import javax.swing.JApplet;
import javax.swing.JFileChooser;
import java.awt.event.*;
import javax.swing.filechooser.FileFilter;
import java.io.File;
import javax.imageio.*;
import java.awt.image.*;
```


==============================================
*FChooserButton.java:73: cannot find symbol
*symbol  : method read(java.io.File)
location: class FChooserButton
                                        BufferedImage buffimg=read(files_);
                                                              ^
1 error
==============================================_


----------



## Campino (13. Apr 2007)

ähm...du rufst eine Methode "read" auf. 

Ein Methodenaufruf sieht so aus: 


```
Objectname.methodenname(Parameter);
```

Na, fällt dir was auf? Nein?

Okay, weiter im Text: 
Wenn bei einem Methodenaufruf KEIN Objectname steht, geht Java davon aus, dass "this" gemeint ist. Wenn das Objekt, in dem der Aufruf steht, auf das "this" zeigen würde, aber keine Methode read hat? Genau, dann kommt ein "cannot find symbol". Verstanden? 

Und wie löst man das Problem jetzt? Ganz einfach: Du musst ein Objekt angeben, dass eine solche Methode besitzt. Die read-Methode gehört in die Klasse ImageIO, streng genommen bräuchte man also eine Instanz von ImageIO. Allerdings ist read statisch, gehört also nicht zum Objekt, sondern zur Klasse. Du kannst also statt einem konkreten Objektnamen einfach den Klassennamen verwenden. Alles verstanden? Gut. 

campino


----------



## Guest (13. Apr 2007)

danke schon mal,

habs kapiert.

gebe die klasse jetzt mit an:

```
BufferedImage buffimg=ImageIO.read(files[i]);
```

aber jetzt habe ich ein anderes problem

====================================================================
FChooserButton.java:73: unreported exception java.io.IOException; must be caught or declared to be thrown
                                        BufferedImage buffimg=ImageIO.read(files_);
                                                                                                ^
1 error
====================================================================



		Code:In die Zwischenablage kopieren


files=chooser.getSelectedFiles();

_


----------



## The_S (13. Apr 2007)

try - catch block außenrum bauen.


----------



## Verjigorm (13. Apr 2007)

falls du eclipse benutzt kannst du auf das fehlericon klicken und der bietet dir dann die möglichkeit:

"Add throws declaration"
"Surround with try/catch"


----------

