URL: https://www.overclockers.at/coding-stuff/bild_anzeigen_in_java_mit_filedialog_180817/page_1 - zur Vollversion wechseln!
Zitatimport 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){}
}
}
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.
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.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025