import java.awt.*; import java.awt.event.*; import java.io.*; public class SimpleEdit { protected static Frame f; protected static TextArea ta; public static void main( String[] args ) { f = new Frame(); f.setLayout( new BorderLayout() ); MenuItem miBeenden = new MenuItem( "Beenden" ); MenuItem miLaden = new MenuItem( "Laden" ); MenuItem miSpeichern = new MenuItem( "Speichern" ); Menu mDatei = new Menu ( "Datei" ); MenuBar mb = new MenuBar (); mb.add( mDatei ); mDatei.add( miLaden ); mDatei.add( miSpeichern ); mDatei.addSeparator(); mDatei.add( miBeenden ); f.setMenuBar( mb ); ta = new TextArea(); ta.setFont( new Font( "Monospaced", Font.BOLD, 14 ) ); f.add( BorderLayout.CENTER, ta ); miLaden.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { dateiLaden(); } } ); miSpeichern.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { dateiSpeichern(); } } ); miBeenden.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { beenden(); } } ); f.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { beenden(); } } ); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); f.setSize( (int)( screen.width * 0.8 ), (int)( screen.height * 0.8 ) ); Dimension frame = f.getSize(); f.setLocation( ( screen.width - frame.width ) / 2, ( screen.height - frame.height ) / 2 ); f.setVisible( true ); f.requestFocus(); } public static void dateiLaden() { FileDialog dLoad = new FileDialog( f, "Datei öffnen" ); dLoad.show(); // blockiert bis Auswahl erfolgt ist String datei = dLoad.getFile(); String verz = dLoad.getDirectory(); if( datei != null ) { String name = verz + datei; f.setTitle( "SimpleEdit 1.0: " + name ); try { BufferedReader br = new BufferedReader( new FileReader( name ) ); StringBuffer inhalt = new StringBuffer(); String line; while( ( line = br.readLine() ) != null ) inhalt.append( line ).append( "\n" ); ta.setText( inhalt.toString() ); } catch( Exception ex ) { ta.setText( ex.getClass().getName() + " " + ex.getMessage() ); } } } public static void dateiSpeichern() { FileDialog dSave = new FileDialog( f, "Datei speichern", FileDialog.SAVE ); dSave.show(); // blockiert bis Auswahl erfolgt ist String datei = dSave.getFile(); String verz = dSave.getDirectory(); if( datei != null ) { String name = verz + datei; f.setTitle( "SimpleEdit 1.0: " + name ); try { PrintWriter pw = new PrintWriter( new FileWriter( name ) ); pw.print( ta.getText() ); pw.close(); } catch( Exception ex ) { ta.setText( ex.getClass().getName() + " " + ex.getMessage() ); } } } public static void beenden() { f.setVisible( false ); f.dispose(); System.exit( 0 ); } }