import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class TextEdit extends JFrame implements ActionListener { JPanel p = new JPanel(); JTextField namn = new JTextField(); JButton öppna = new JButton("Öppna"); JButton spara = new JButton("Spara"); JButton sluta = new JButton("Avsluta"); JTextArea area = new JTextArea(10,60); JScrollPane sp = new JScrollPane(area, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); public TextEdit() { Container c = getContentPane(); p.setFont(new Font("SansSerif", Font.PLAIN, 12)); area.setFont(new Font("Monospaced", Font.PLAIN, 12)); // placera ut komponenterna på panelen p p.setLayout(new GridLayout(1,5)); p.add(new JLabel("Filnamn: ", JLabel.RIGHT)); p.add(namn); p.add(öppna); p.add(spara); p.add(sluta); namn.addActionListener(this); öppna.addActionListener(this); spara.addActionListener(this); sluta.addActionListener(this); // placera ut panelen och textarean c.add(p, BorderLayout.NORTH); c.add(sp, BorderLayout.CENTER); pack(); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { // undersök vilken knapp användaren har tryckt på if (e.getSource() == namn || e.getSource() == öppna) läsInFil(namn.getText()); else if (e.getSource() == spara) sparaFil(namn.getText()); else if (e.getSource() == sluta) System.exit(0); } private void läsInFil(String filnamn) { try { FileReader r = new FileReader(filnamn); area.read(r, null); } catch (IOException e) {} } private void sparaFil(String filnamn) { try { FileWriter w = new FileWriter(filnamn); area.write(w); } catch (IOException e) {} } public static void main (String[] arg) { TextEdit t = new TextEdit(); } }