Hallo,
Nach dem Speichern, was funktionier, geht der Dialog nicht wieder vollstänsig weg.
wohin muß das dispose()?
Danke für jeden Hinweis.
Quellcode der Datei, bei der gespeichert werden soll:
EDIT von L-ectron-X: Code-Tags eingefügt
Nach dem Speichern, was funktionier, geht der Dialog nicht wieder vollstänsig weg.
wohin muß das dispose()?
Danke für jeden Hinweis.
Quellcode der Datei, bei der gespeichert werden soll:
Code:
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class AlgFenster extends JInternalFrame
{
static int openFrameCount = 0;
static final int xOffset=20,yOffset=20;
static JTextArea text=new JTextArea();
private JScrollPane jsp=new JScrollPane();
private Container cp=getContentPane();
static JLabel statusleiste = new JLabel();
static String aktDateiname = null;
static JFileChooser fileDialog = new JFileChooser();
AlgFenster()
{
super("Algorithmus Nr." + (++openFrameCount),
true, //Größe änderbar
true,//schliessbar
true,//maximierbar
true);//minimierbar
setSize(350,350);
setLocation(350+xOffset*openFrameCount,yOffset*openFrameCount);
text.setFont(new Font("SansSerif",Font.PLAIN,14));
text.setBackground(Color.WHITE);
//text.setText("public class Anwendung \n{ public static main(String[] argv) \n { \n\n\n }\n}");
jsp.getViewport().add(text,null);
cp.add(jsp,BorderLayout.CENTER);
statusleiste.setText(" ");
cp.add(statusleiste, BorderLayout.SOUTH);
fileDialog.addChoosableFileFilter(new JavaSourceFilter());
}
static boolean algDateiSpeichernUnter(StructX s)
{
if (JFileChooser.APPROVE_OPTION == fileDialog.showSaveDialog(s))
{
aktDateiname = fileDialog.getSelectedFile().getPath();
return algDateiSpeichern();
}
else { return false; }
}
static boolean algDateiSpeichern()
{
if (aktDateiname == null)
{
return algDateiSpeichernUnter(new StructX());
}
try
{
File datei = new File(aktDateiname);
FileWriter out = new FileWriter(datei);
text.write(out);
out.close();
statusleiste.setText("Gespeichert in " + aktDateiname);
return true;
}
catch (IOException e)
{
statusleiste.setText("Fehler beim Speichern von " + aktDateiname);
}
return false;
}
class JavaSourceFilter extends javax.swing.filechooser.FileFilter
{
public boolean accept(File f)
{
boolean accept=f.isDirectory();
if(!accept)
{
String suffix = getSuffix(f);
if(suffix!=null) accept=suffix.equals("java");
}
return accept;
}
public String getDescription()
{
return "Java-Quelltexte (*.java)";
}
private String getSuffix(File f)
{
String s=f.getPath();
String suffix=null;
int i=s.lastIndexOf('.');
if(i>0 && i<s.length() -1) suffix =s.substring(i+1).toLowerCase();
return suffix;
}
}
static void createAlgFrame()
{
AlgFenster algFenster= new AlgFenster();
algFenster.setVisible(true);
StructX.desktop.add(algFenster);
try
{
algFenster.setSelected(true);
}catch(java.beans.PropertyVetoException e){}
}
}
EDIT von L-ectron-X: Code-Tags eingefügt