"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

bild anzeigen in Java mit filedialog?

4r! 31.05.2007 - 15:43 896 2
Posts

4r!

...
Avatar
Registered: Jan 2003
Location: Wien
Posts: 1193
Zitat
import java.awt.*;
import java.awt.event.*;
import java.io.*;


public class saveandfileandtextundbild extends Frame{
//Objekte

TextArea ta1;
MenuBar mb;
Menu m1;
MenuItem m11,m12;
Image bild;
FileDialog fd1,fd2;

//Konstruktor
public saveandfileandtextundbild(){

ta1=new TextArea();
mb=new MenuBar();
m1=new Menu("Programm");
m11=new MenuItem("Text laden");
m12=new MenuItem("Bild laden");
fd1=new FileDialog(this,"txt Laden"+FileDialog.LOAD);
fd2=new FileDialog(this,"bild laden"+FileDialog.LOAD);


m1.add(m11);
m1.add(m12);
mb.add(m1);
setMenuBar(mb);


add(ta1);

m11.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
textladen();
}
});


m12.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
bildladen();
}
});

}//Ende Kontruktor

//Haupprogramm
public static void main (String args[]){
saveandfileandtextundbild st=new saveandfileandtextundbild();
st.setSize(400,300);
st.setVisible(true);
}
private void textladen(){
String datname=fd1.getDirectory()+fd1.getFile();
try{
BufferedReader in=new BufferedReader(new FileReader(datname));
String zeile;
while((zeile=in.readLine())!=null){
ta1.append(zeile+"\n\n");
}
}
catch(IOException e){}
}

public void paint(Graphics g){
if(bild!=null){
g.drawImage(bild,30,350,this);
}
}


private void bildladen(){
String datname=fd2.getDirectory()+fd2.getFile();
try{
bild=getToolkit().getImage(datname);
setSize(500,500);
repaint();

}
catch(IOException err){}
}


}

will einfach veruchen ein bild via filedialog zu laden und im fesnter anzuzeigen... er gibt mir aber dauernd die fehlermeldung aus : "This catch block is unreachable because there is no non-null exception whose type is assignable to "java.io.IOException" that can be thrown during exceution of the body of the try block."

in den anderen programm funzt der try und catch block auch.. kA was da wieder los is..??

DKCH

...
Registered: Aug 2002
Location: #
Posts: 3279
wenn du deinen saustall da mit code-tags versiehst stimmt vielleicht die einrückung halbwegs (sofern vorhanden...).

du willst wo eine IOException catchen wo keine geworfen wird.

banjoe

Addicted
Avatar
Registered: Jan 2003
Location: 4820
Posts: 500
Also wie schon DKCH sagte, RÄUM AUF ;)

Lies dir mal in den APIs die Klasse FileDialog durch. Du machst nämlich FileDialog.getDirectory() (bzw. getFile()), obwohl du noch gar kein Directory bzw. File gesetzt hast (setDirectory(), setFile()).

Die IOException in der Methode bildladen() wird nicht geworfen (siehe DKCH post).

Verwendest du einen Editor welcher dir die Syntax einfärbt?

hth
*joe

ps: ach ja, wenn du in der methode textladen() im catch block z.B. e.printStackTracke() einfügst, dann wirst du auch eine dementsprechende Exception bekommen (in der Konsole) wo er dir sagt, dass er kein File findet, siehe FileDialog.

edit: Alter, ich seh grad des war schon am 31May :D, naja mal schaun ob da nochwas kommt.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz