Script Java
Script Java Script Java
7.4 Exception Handling public void actionPerformed(ActionEvent event){ //set time to current time: if (event.getActionCommand().equals("SET")) { Calendar date = Calendar.getInstance(); time.setTime (date.get(Calendar.HOUR_OF_DAY),date.get(Calendar.MINUTE)); //increment time by one minute: } else if (event.getActionCommand().equals("+")) { time.increment(1); //decrement time by one minute: } else if (event.getActionCommand().equals("-")) { time.increment(-1); // check and set time according to changes in text: } else { try {time.setTime(text.getText());} catch (NumberFormatException e) { message.setText("Invalid Format"); return; } } text.setText(time.toString()); message.setText(time.toFancyString()); repaint(); } aufgerufen wird. Zusätzlich erfolgt im Konstruktor UserFrame() noch die Registrierung des ActionListener beim TextField text: text.addActionListener(this); 7.4.1 Zum Programm In dieser Programmversion ist es dem Benutzer nun möglich, das TextField text zu editieren. Hierbei ist im Programm gewährleistet, dass nur ein korrektes Zeitformat angezeigt wird. Ansonsten wird im Label message angezeigt, dass die Eingabe nicht zulässig ist (siehe Abbildung 7-5). 186
7.4 Exception Handling Abbildung 7-5: Time - Version 4, UserFrame 7.4.1.1 String Tokenizer Ein String Tokenizer erlaubt es, einen String aufgrund von Separatoren (engl. delimiter) in Teilstrings zu zerlegen. In der Methode setTime() bewirkt das Programmstück 1 String hString, mString; StringTokenizer tokenizer = new StringTokenizer(s,":"); hString = tokenizer.nextToken(); mString = tokenizer.nextToken(); die Zerlegung einer durch 〈Stunden〉:〈Minuten〉 dargestellte Uhrzeit in die beiden lokalen Variablen hString und mString. Dem Konstruktor StringTokenizer() wird der aufzuspaltende String s als erster Parameter übergeben. Der zweite Parameter definiert den für die Zerlegung von s zu verwendenden Separator ":". Der Aufruf der Instanzmethode nextToken() bewirkt nun, dass der String von links nach rechts bis 1 Das Schlüsselwort try sowie das geschweifte Klammerpaar wurde aus didaktischen Gründen weggelassen. Hierauf wird in Abschnitt 7.4.1.2 eingegangen. 187
- Seite 135 und 136: 5.1 ActionEvent und ActionListener
- Seite 137 und 138: 5.1 ActionEvent und ActionListener
- Seite 139 und 140: 5.1 ActionEvent und ActionListener
- Seite 141 und 142: 5.1 ActionEvent und ActionListener
- Seite 143 und 144: 5.1 ActionEvent und ActionListener
- Seite 145 und 146: 5.2 Zusammenfassung ♦ Damit eintr
- Seite 147 und 148: 6.1 Instanzmethode versus Klassenme
- Seite 149 und 150: 6.1 Instanzmethode versus Klassenme
- Seite 151 und 152: 6.1 Instanzmethode versus Klassenme
- Seite 153 und 154: 6.1 Instanzmethode versus Klassenme
- Seite 155 und 156: 6.2 Visiblity Modifiers ClassMethod
- Seite 157 und 158: 6.2 Visiblity Modifiers } subjectLi
- Seite 159 und 160: 6.2 Visiblity Modifiers Eine Instan
- Seite 161 und 162: 6.2 Visiblity Modifiers 6.2.2 Synta
- Seite 163 und 164: 7.1 Calendar 7Method Overloading Ar
- Seite 165 und 166: 7.1 Calendar } text.requestFocus();
- Seite 167 und 168: 7.1 Calendar In den restlichen Zeil
- Seite 169 und 170: 7.1 Calendar Die Klassenmethode get
- Seite 171 und 172: 7.2 Graphics public void setTime(in
- Seite 173 und 174: 7.2 Graphics in der Methode paint()
- Seite 175 und 176: 7.2 Graphics zunehmen, muss man als
- Seite 177 und 178: 7.3 Arrays g.drawLine(x+r,y+r, x+r+
- Seite 179 und 180: 7.3 Arrays } } "one","two","three",
- Seite 181 und 182: 7.3 Arrays message.setText(time.toF
- Seite 183 und 184: 7.3 Arrays if (minutes%15==0) gepr
- Seite 185: 7.4 Exception Handling ArrayAcess I
- Seite 189 und 190: 7.4 Exception Handling Handling Ins
- Seite 191 und 192: 7.4 Exception Handling Wenn es im P
- Seite 193 und 194: 7.4 Exception Handling public void
- Seite 195 und 196: 7.4 Exception Handling Schlüsselwo
- Seite 197 und 198: 7.5 Zusammenfassung ExceptionHandli
- Seite 199 und 200: 8.1 Abstrakte Methoden und Klassen
- Seite 201 und 202: 8.1 Abstrakte Methoden und Klassen
- Seite 203 und 204: 8.1 Abstrakte Methoden und Klassen
- Seite 205 und 206: 8.1 Abstrakte Methoden und Klassen
- Seite 207 und 208: 8.1 Abstrakte Methoden und Klassen
- Seite 209 und 210: 8.1 Abstrakte Methoden und Klassen
- Seite 211 und 212: 8.1 Abstrakte Methoden und Klassen
- Seite 213 und 214: 9.1 Interfaces und Adapter-Klassen
- Seite 215 und 216: 9.1 Interfaces und Adapter-Klassen
- Seite 217 und 218: 9.1 Interfaces und Adapter-Klassen
- Seite 219 und 220: 9.1 Interfaces und Adapter-Klassen
- Seite 221 und 222: 9.2 Zusammenfassung Muss man zwecks
- Seite 223 und 224: 10.1 Zweidimensionaler Array 10Arra
- Seite 225 und 226: 10.1 Zweidimensionaler Array public
- Seite 227 und 228: 10.1 Zweidimensionaler Array new Ti
- Seite 229 und 230: 11.1 Turtle-Geometrie } (int)Math.r
- Seite 231 und 232: 11.2 Vererbung forward() right() Ab
- Seite 233 und 234: 11.3 Rekursion Abbildung 11-3: Turt
- Seite 235 und 236: 11.3 Rekursion } setSize(400,400);
7.4 Exception Handling<br />
Abbildung 7-5: Time - Version 4, UserFrame<br />
7.4.1.1 String Tokenizer<br />
Ein String Tokenizer erlaubt es, einen String aufgrund von Separatoren (engl. delimiter)<br />
in Teilstrings zu zerlegen.<br />
In der Methode setTime() bewirkt das Programmstück 1<br />
String hString, mString;<br />
StringTokenizer tokenizer = new StringTokenizer(s,":");<br />
hString = tokenizer.nextToken();<br />
mString = tokenizer.nextToken();<br />
die Zerlegung einer durch 〈Stunden〉:〈Minuten〉 dargestellte Uhrzeit in die beiden lokalen<br />
Variablen hString und mString. Dem Konstruktor StringTokenizer() wird der<br />
aufzuspaltende String s als erster Parameter übergeben. Der zweite Parameter definiert<br />
den für die Zerlegung von s zu verwendenden Separator ":". Der Aufruf der<br />
Instanzmethode nextToken() bewirkt nun, dass der String von links nach rechts bis<br />
1<br />
Das Schlüsselwort try sowie das geschweifte Klammerpaar wurde aus didaktischen Gründen<br />
weggelassen. Hierauf wird in Abschnitt 7.4.1.2 eingegangen.<br />
187