Eine Todo-Liste
Hier habe ich mal versucht eine ToDo-Liste zu schreiben. Er arbeitet als Applikation und bei Verlassen werden die Daten in der Datei todo.txt gespeichert.
ToDo.java |
---|
1 import java.awt.*; 2 import java.awt.event.*; 3 import java.io.*; 4 5 public class ToDo extends Frame{ 6 7 8 TextField Eingabe; 9 List Liste; 10 Button Bhinzu; 11 Button Bweg; 12 Button Bersetzen; 13 Button BEnde; 14 15 16 17 private void file_write() { 18 try { 19 BufferedWriter out = new BufferedWriter(new FileWriter("todo.txt")); 20 21 for (int i = 0; i < Liste.getItemCount(); i++) { 22 out.write(Liste.getItem(i)); 23 out.newLine(); 24 } 25 out.close(); 26 } 27 28 29 catch (IOException err) { 30 System.out.println("Fehler: \n" + err); 31 } 32 } 33 34 35 36 private void file_read() { 37 try { 38 BufferedReader in = new BufferedReader(new FileReader("todo.txt")); 39 String zeile; 40 while ((zeile = in.readLine()) != null) { 41 Liste.add(zeile); 42 } 43 in.close(); 44 } 45 catch (FileNotFoundException err) { 46 } 47 catch (IOException err) { 48 System.out.println("Fehler: \n" + err); 49 } 50 } 51 52 53 public ToDo() { 54 setTitle("ToDo-Liste"); 55 56 addWindowListener(new WindowAdapter() { 57 public void windowClosing(WindowEvent e) { 58 file_write(); 59 System.exit(0); 60 } 61 }); 62 63 Eingabe = new TextField(); 64 Liste = new List(10); 65 Bhinzu = new Button("hinzufügen"); 66 Bweg = new Button("löschen"); 67 Bersetzen = new Button("ersetzen"); 68 BEnde = new Button("Ende"); 69 70 setLayout(new GridBagLayout()); 71 GridBagConstraints c = new GridBagConstraints(); 72 73 c.gridx = 0; 74 c.gridy = 0; 75 c.gridheight = 1; 76 c.gridwidth = 10; 77 c.fill = GridBagConstraints.HORIZONTAL; 78 c.insets = new Insets(5,5,5,5); 79 add( Eingabe, c); 80 81 c.gridx = 8; 82 c.gridy = 1; 83 c.gridheight = 1; 84 c.gridwidth = 3; 85 add(Bhinzu, c); 86 87 c.gridx = 8; 88 c.gridy = 3; 89 c.gridheight = 1; 90 c.gridwidth = 3; 91 add(Bweg, c); 92 93 c.gridx = 8; 94 c.gridy = 5; 95 c.gridheight = 1; 96 c.gridwidth = 3; 97 add(Bersetzen, c); 98 99 c.gridx = 8; 100 c.gridy = 7; 101 c.gridheight = 1; 102 c.gridwidth = 3; 103 add(BEnde, c); 104 105 c.gridx = 0; 106 c.gridy = 1; 107 c.gridheight = 9; 108 c.gridwidth = 7; 109 c.fill = GridBagConstraints.BOTH; 110 add(Liste, c); 111 112 BEnde.addActionListener(new ActionListener() { 113 public void actionPerformed(ActionEvent e) { 114 file_write(); 115 System.exit(0); 116 } 117 }); 118 119 Bhinzu.addActionListener(new ActionListener() { 120 public void actionPerformed(ActionEvent e) { 121 Liste.add(Eingabe.getText()); 122 } 123 }); 124 125 126 Bweg.addActionListener(new ActionListener() { 127 public void actionPerformed(ActionEvent e) { 128 int row = Liste.getSelectedIndex(); //ausgewählte Zeile ermitteln 129 if (row >= 0) { 130 Liste.remove(row); 131 Eingabe.requestFocus(); 132 133 } 134 } 135 }); 136 137 138 Bersetzen.addActionListener(new ActionListener() { 139 public void actionPerformed(ActionEvent e) { 140 int row = Liste.getSelectedIndex(); //ausgewählte Zeile ermitteln 141 if (row >= 0) { 142 Liste.replaceItem(Eingabe.getText(), row); 143 Eingabe.setText(""); 144 Eingabe.requestFocus(); 145 146 } 147 } 148 }); 149 150 file_read(); 151 152 153 154 155 pack(); 156 setVisible(true); 157 158 159 160 } 161 162 public static void main (String args[]) { 163 new ToDo(); 164 } 165 } 166 |
Letzte Änderung: 26.04.2012: 17:53:42 von X. Rendtel
Dieses Werk bzw. Inhalt steht unter einer Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.
Beruht auf einem Inhalt unter www.rendtel.de.