bild anzeigen in Java mit filedialog?
4r! 31.05.2007 - 15:43 896 2
4r!
...
|
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
...
|
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
|
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 , naja mal schaun ob da nochwas kommt.
|