TOEFL
Caution: This applet is not for the CBT type.
Source file
Old versions
Subject: JARS Ratings Notice
From: webmaster@jars.com
To: u-ryo@sipeb.aoyama.ac.jp
Date: Wed, 25 Aug 1999 11:15:36 -0400 (EDT)
Reply-To: webmaster@jars.com
The following resource has been rated:
Resource Name : TOEFL TEST
Developer ID : RU1
Resource ID : RU1-1
-------------------------------------------
Presentation : 167
AppletPerfect: 259
Function : 163
Originality : 266
-------------------------------------------
Total : 855 (out of a possible 1000.)
After the test, you can see comments on each question.
But comments are written
in Japanese.
私がTOEFLを受けようと思ったのは、
先の院試で(異様に難しかったらしい)英語の試験で落ちてしまったところ、
「英語の力がなさすぎる」
と先生に言われたことに端を発します。
確かに、そんなに英語ができる方でもないとは思いますが、
掌を返したように、そこまで言われるかぁ、と...
そこで、留学するわけでもないのに、どんなもんかとTOEFLを申し込んで、
流石に何もしないわけにもいかないのでNHKラジオ「英会話」を聞き始めて
(久しぶりだなぁ!! 昔聞いていたものです)、
問題集を買って(結局、やってませんけど...)、受けたところ
(hearingが選択肢を読む暇すらないとは思いませんでした。色々、びっくり!!
氏名やregistration number記入などの指示も英語なので、
どのtimingで書いたらいいのか、周りを見ながらでした :-)、
申し込んでから4ヶ月ほど経って漸く、初回のscoreが送られてきました。
500点です。
初めてにしては、いいのでは??
と思ったら、よぅし、勉強してやろうじゃないの!!
と意欲が湧いてきました。
3回目のTOEFL受験を1週間後に控えて...
そこで、作ってしまったのが、これです。
自分の勉強のために作ったのですが、
問題入力の膨大さにに死にそうになりました。
「こんなのがあると嬉しいでしょ?」と人に意見を聞いたところ、
「やっぱり、解説もなきゃ...」と我儘を言われること多々、
仕方なしに日本文の解説も出るようにしました。
お陰で、指が痛いです。
しかも、自分で入力したために、
自分の入力文ではなかなか勉強ができないような気がします
(細かな答えは覚えてませんが、passageの粗筋とか頭に入ってしまって)。
うーん...(- -;
Section 1もこの勢いなら十分に作れますが(Section
2のroutineを使い回したりできますし)、需要ありますか??
(北陸先端入試1週間前だってのにもかかわらず、勢いで作っちゃいました。
音声fileをthread使って裏で先読みしてます。
本番同様12秒毎に再生させるのにとても苦労しました。
MSIEだと動作おかしいし...
これも問題入力、というよりかは、
音声filesを1セットにつき55個も作らなあかんのには、
えらい思いをしました。
7/17)
で、受けてきました(7/9)。
これのために490問ほど問題・解答・解説を入力したので、
流石にpatternが読めてきたせいもあったのか、
Section 2 & Section 3は初めて! 時間が余りました!!
ちゃんと何書いてあるかもわかったし(あとで蜂の行動の問題を
verticalの意味取り違えて間違えちゃったこともわかったし... (- -; )。
というわけで、問題・解説をただひたすら大量に入力する、
っていうのも、それなりの対策にはなるみたいです。
が、TOEFLって結構、「英語力の反映」ってわけでも、ないんですね...
他にも似たようなWWWサイトがないか、調べてみました。
TOEICに関してはアルクがCD-ROMを出していますね
(『
TOEICテスト パーフェクト730点』他)。
WWW上では、『無料で出来るもの』は以下のようなところがあるみたいですが、
うーん、ちょっといまいちかなぁって思いますけどねぇ...
-
IFU外語学院 On-line TOEFL無料模試
(完全模試1回分/印刷して、自分でやる。解答あり。
解説がないのだけが痛い)
- アルク TOEFL Mini Test
(Section 2 & 3のMini Test1回分。Adbe AcrobatのPDF形式で、
やはり印刷して自分で行なうが、解答はWWW formで提出)
-
TOEFL文法模試
(JavaScriptによる。section 2相当分のみ。他にも
2や
3がある)
-
English Quizzest by Kenji Kitao & Kathleen Kitao
(HTMLによる自己採点。Section 2のStructureのみ。
written expressionがない)
- TOEFL Practice
(ここはちょっといいかもしれません。Section 2だけですが、Shockwaveを
使って時間計測と実際に近い出題を実現しています)
- Yes-Nowの
sample
(Structure, Written Comprehension, Readingの問題が少し。
WWW上で行なう)
-
English Tutoring Service
(Section 2 & 3のmini test)
- TOEFL exercise
-
Petersons Sample TOEFL Questions -- JavaScript Version
探せばちょこまか海外サイトには沢山ありそうです。
が、殆どは売り物で、又日本語での解説までついたのは海外にはない筈...
あと、勿論TOEFL official siteに
Computer-Based TOEFL Testがありますし、
TOEFL-DENの
TOEFL Trainerもありますし。
けど、これらは売り物です。お金かかります...;-)
TOEFLに限らないのですが、英語学習自体については、
「
英語はこう攻めろ!」にいいこと書いてあると思います。
2回目のTOEFL SCOREが来ました。
2回目はまだこれを作ろうとはしておらず、
相変わらず『問題集だけは持ってて...』という状態でした。
ただ、TOEFL受験の要領だけはわかってました。
その「わかり方」っていいますのも大したものではなかったんですが。
事が運ばれる順番と(初回はいきなり申し込んでもいないTWEを
「受けさせられた」のには面食らいましたものです)、
「hearingは選択肢を読む間もなく、
Section 2とSection 3は、自分のpaceで大体時間ギリギリに終わる」
といった程度のものでした。
ですので、取り立てて急ぎもせず、Section 2をやっていたら、
しまった、最後時間がなくなって、3問ほど取りこぼしてしまいました。
慌ててどれもBを塗っておきましたが、
TOEFLにおいては「C」である確率が一番高いんだそうですね!
(本Appletを作っている時に得た副産物です)
今度からそうします...
こりゃやばいというので、Section 3はpaceをあげて取り組んだので、
こっちは時間内に終わりましたけど、
hearingも取り立ててわかったというわけじゃないですし、
この分じゃあ初回より悪いかも...
密かに危惧していたところ...
なんと、540点でした!
「500点を目指した...」
といった類いの本はどうやら私には不要であるらしいことは、
初回の点数を見て思いましたが、2回目でこれでは、
どうやら「550点を目指した...」も不要そうです。hmmm...
(流石にSection 2は前回より1点悪かったですが、
Section 3で61、Section 1で44でした)
先日の3回目の受験では、
きっと今回より少なくともSection 2と3はいいだろうと思います。
但し、流石に620まではまだまだ遥かな道なんですね...
それでも、改めて思いますが、TOEFLって、慣れが大きいんですかねぇ...
ホント、「英語力の反映」ではあんまりないような気もします。
Section 1についても作るため、文献探していたところ、
Section 1の選択肢から「どんな会話がなされそうか」を
trainingする本もあったりして、
確かにTOEFL受験にはrationalなものの、
本当は渡米しても授業とかについていけるようにということなわけですよね?
それをこれで通ったのでは...
とも思うんですけどねぇ。
TOEFL再度受けるかどうか思案中ですけど(なかなか高いですし)、
受けるなら、又直前にこのApplet用の問題でも作りまくりますか。
何も考えない、単純な問題・解説の入力だけでも、
やはりそれなりの「試験対策」になります。
今回Section 1の方も作成してみて、あぁ、こうやって受ければいいのか、
っていうの結構わかりましたもん。
大体なされる質問のpatternが決まっているので、
その辺について注意深く聞けばいいとか、
全部聞き取れなくても、key wordを聞き取れればいいんだとか、
選択肢にdirectに出て来ている表現は答えになりにくいとか、
Cが正答であることが多いとか、
各Section頭の1〜6には必ずA〜Dまで答えのvariationが出ている筈とか。
今日(7/23)ついに4回目(9/10)の受験を申し込んできてしまいました。
うーん。
4回受けると、総額5万円。ちょっと多いですよね。
ただ「英語力がない」といわれたからリベンジというだけで、
留学するわけでもないのに...
無駄にしないために、次回こそ620取るぞーーーーー!!
と思って冷静に計算してみますと、
結構大変なんですねやっぱり...(- -;
Section 1で何とか頑張って55取ったとしても、
620にするにはSection 2と3でほぼ満点(67〜68?)取らなきゃならんのですね...
流石にちょっと、きついかも。(^ ^;
第一満点取っても、67なのか68なのか...???
(偏差値なので、恐らく変動するんでしょうけど)
Section 1で60取れちゃえばかなり楽みたいですが、
hearingでそんなに取れるのかなぁ...???
しまった、会場をいつものところじゃなくすれば良かった!!
(何か聞き取りにくい会場のような気がしてなりません駒女って。
前回隣に座っていた子は、そうでもないって言ってたけど)。
しかぁーーーし!!
なんと、先生は「英語読解力はある」ってことは、認めてくれててました...
(7/27)
writingが問題だと。
ugh.
確かにそうなんですが...
と、何のためにTOEFL受けてんだーーーσ(-.-;
しかも、9月のtestにTWEはないぞーーー!!!
うーーーーーん...
でもま、JAISTの面接で「初回で500点、2回目で540、
3回目はもっと行く筈...」と言えたので、よしとしますかーーー!?
3回目の結果が返ってきました。530点。うーん...
不思議なものです。1回目より悪かったかと思った2回目がぐんと良く、
2回目より出来たのではと思った3回目に下がってしまうとは。
確かに、TOEFLには±14点ほどの誤差があるそうですが、
それにしても、出来たと思ったSection2・3で60台はおろか、
それぞれ点を落としてしまうとは...
やはりTOEFL、甘くないぞ、ということでしょうか。
それより? ショックだったのは、
前回試験会場で仲良くなったはるひちゃんに振られた?こと。
折角偶然電車の中で会ったのに、
もう2度と話し掛けないでといわんばかり凄い迷惑そうな顔...
ど〜してぇ?! 凄い話弾んで一緒に帰ったのにぃ。
別にナンパしたわけじゃないし。
このapplet、何の説明もなしにパンピーが直感的に使えるものかどうか、
知りたくて、たまたま隣に座った彼女に色々試して貰ったりしたら、
彼女の米留学の話とかいろいろ話弾んで、
電話番号だって向こうから教えてくれるくらいだったのに。
ふぇ〜ん。
ま、一期一会ってことかなー。
TOEFLで、余計なこと考えちゃいかんってことかなー。
けどちゃんと、全てが終わってから話し掛けたんだけど...
4回目の受験は、又駒女かと思ったら、何と早稲田!
あれぇ? 早稲田なんて、書いたかなぁ??
でも、丁度よかったや。
これなら、会場ではるひちゃんを見かけてきゅんとすることもなさそうだし、
hearingも他で受けてみたかったところだったし...
ただ、ここのところ、学会発表準備に(というか、
本当は勝手に好きなWWW Contents作ってただけですけど)追われて、
英語の勉強がままならないので、きっと惨敗しそう...
せめてそれを避けるため、今回又更にAppletの問題数を増やしてみましたけど、
やっぱり問題入力するだけじゃダメだっていうのは、前回で証明済。
これを使って自分が勉強する日はいつのことか?!
(海外の方から徐々に賛辞が寄せられてきてますけど)
いやぁ、行ってきました早稲田。
英語講師と思しきおばさん方が4人も!
教室は上下で120くらいずつでしょうか??
13時からと駒沢より早かったので、危うく遅れるところでした
(13:13くらいで何とかセーフ)。
hearing tapeの音は大きくて良かったのですが、
うーんやっぱりわかりません。
今回はダメだろうと思ってましたが、自殺的予言のようで、
Section 2も3も実質的には終わりませんでしたし
(無理やり終わらせましたけど)。
TOEFL受けると、こりゃダメだなぁって気になります。
よくこんなの全部わかる人いますね! 感心しちゃいます。まっっったく。
ここ早稲田の方が、何かと厳しかったですね。照合とか見回りとか。
遅く来たためか、問題くれるのがうちの列だけ遅くて参りましたけど、
そもそもテープによる指示が悠長なので、実質被害無しです。
あと、周囲の年齢層が高い! 駒沢女子会場の方が、可愛い子沢山いましたね。
ここと比較しますと。ホント。
まぁ、いようといまいと関係ないので、それは別段いいですけど。
机が、代ゼミや大学によくある横に繋がった奴だったのに、
床に固定されていなかったのに後でびっくりしました。
揺らされて、ちょっと困った...
多分こんなんじゃだめだなー又。ふぅ。
先日(2000.8.1)、JAISTに来て初めて、TOEFL-ITPなるものを受けました。
過去のTOEFLの再利用ですがETSのやってる、準officialなものだそうです
(但し、留学等にはこのscoreは効かない。その代わり?、受験料格安)。
まぁ、とにかくTOEFLなんですね。
JAISTの内規では、550〜600なら英語90点と認定、ということなので、
それを狙ったんですが...
授業レポート締め切り当日、だったので、事前に勉強は全くできませんでした。
自分で作ったこのTOEFL appletさえも。
おかげで、試験の勘は鈍りまくりまして、grammarは2問程終わらず、
readingも最後ちょっと間に合わなかったのに、
なのに...
結果は、hearing(Listening Comprehension)は47と過去最高、
grammar(Structure & Written Expression)は58、
Reading Comprehensionも58。543と(自分としては)過去最高。
うーん。やっぱり、所詮は『試験』??
勉強量に比例しないなんて、こんなもんなんだろうか...
こんなことなら、もちょっと頑張っておけば良かったなぁ。
(多分)もう2問で550だったのにぃ!! う〜ん!!
以下、JAIST・1999年度知識ベース方法論Cの課題として提出した時の、
このappletsの(簡単な)説明です。
Concept --- 何を狙ったか
一見しておわかり頂けるかと思いますが、実用性とrealityを狙いました。
TOEFLって、とてもJavaのAWTに近いinterfaceのような気がしたので、
これならJavaで出来る、思いました。
実際のTOEFLに近づけることを狙いましたので、
-
本番同様の時間内でやるようになってます。
規定時間が過ぎると、強制的に解答をやめさせられます。
-
Section 1では、本番通り12秒毎にnarationが流れます。
-
又、Part Aをやっている間はPart
BやCをちゃんと先読み出来ないようにしてあります。
-
Section 2では、ちゃんとunderlineの真ん中に選択肢記号があります。
-
Section 3では、標準的には(本番では)5 passages、55分なんですが、
練習用・時間がない人用に、1 passageなpatternも作ってあります。
-
事前に幾人かuserに調査してみたところ、
日本語の解説があった方がいいという強い要望があったので、
全解答後解説が出るようにしました。
-
Unix(Linux・Solaris)上のNetscape、appletviewer、
Windoze上のIE、Netscape、appletviewer、
それぞれによって画面size(描画される大きさ)が微妙に違ってくるので、
画面に入りきらない場合は自動的に行間隔をつめるようにしてあります。
-
小長谷師に、deprecationなmethodは使わない方がいいと言われたので、
IE3、Netscape 4.06以下のuserを切り捨てることにしました。
具体的には、eventには全てListenerを使ったことと、
以下のmethodを書き換えました。setBounds(reshape), getSize(size),
getPreferredSize(preferredSize),
getSelected[Item|Checkbox](getCurrent),
setSelected[Item|Checkbox](setCurrent)
originality
どこかからcodeの一部を持ってきたり、
何かから写したりしたものではなく、
full scratchから自分で書き上げました。
なので、『program code的には』これ全てoriginalityの塊です
(が、TOEFLという既存のものをmodelにしたという点では、模倣物の塊です)。
苦労した点
これの準備はかなり前からしておりましたが
(1年半で修了するためには方法論で90点以上取らねばなりませんので)、
筆舌に尽くしがたい思いはしました...
-
look and feelは、少しでも本番に近づけるようにしました。
色々TOEFLの文献・問題集を調べました。
-
Listenerに関して、
授業ではMouseListenerの例を少ししかやらなかったので、
ActionListener、ItemListener、
WindowListenerについてはAPIを直接見て、手探りで使用法を探りました。
最近は流石にbrowserのversion 3台で見る人は少なくなったと
思いますのでこれでも良いのかもしれませんが、
どこまで汎用性をcover出来るのかは少し不安です。
-
Section 1で、音声fileのhandlingには苦労しました。
Javaでは、いつaudio fileの再生が終わるか、
という情報は得られないようですので、
どこか別の個所にその(再生時間)情報を埋め込むことを考えました。
初めは、audio filesを作る際に、file nameの尻尾に秒数を入れ、
1からincrementしたfile nameをgetしようとし、
ある数でhitしたら、
その数がそのaudio fileの再生秒数だとするalgorithmを考えたんですが、
それだと無駄なtrafficがあまりにも発生しますので、
やはり問題・解答・解説data
fileに各filesの再生秒数を書き込む方式に改めました。
-
問題audio fileを丁度12秒間隔で再生するようにすること一つとっても、
苦労しました。というのも、Part Aは単一形式のshort
conversationが続くだけで比較的楽なんですが、
Part B・Part Cは、長めのconversationが一頻り続いたあと、
それに関するshort questionsが続きますので、
algorithmがとても複雑になるのです
(flagを設けることで解決していますけど...)。
又Part B・Part Cの問題数は不定で、
そのこともcoding algorithmを難しくさせる点でした。
-
Section 1で、各Part毎、次のPartは先読み出来ないようにする、
というのは、そのPartのDirectionに来た時点で、
そのPartの問題を作る、ということで対処しています。
従って、途中で止めた場合は、
止めた先のPartの解答も見られないことになります。
-
smoothにaudio fileを再生させるために、
threadを使って裏でauido fileを常に2つくらい先読みしています。
-
「日本語を出す」という点でもちょっと苦労しています。
無駄な処理なのかもしれませんが、
String[]で読み込んだものを一旦byteに変換し、
encoding argument付きのString Constructorで読み込み直してみています。
-
問題data fileのparseにも人知れぬ苦労があります。
基本的には、「----」で問題部・解答部・解説部・audio file再生秒数を
区切り、「====」でPartB・C内部のmini sessionsを区切っています。
まず最初に「====」を数えて、何番〜何番がひとまとまりかを把握し、
次にその「何番〜何番」という情報を元に、
その問題文画面をinstantiateします。
問題・解答・解説各文の認識は、先頭の「半角数字. 」で判別します。
data file中の空行をdelimiterにしています。
-
Section 2では、問題数が固定していて比較的助かったんですが、
例えば環境(UNIX[=Solaris, Linux]上のNetscape、appletviewer、
Windoze上のIE[4, 5]、Netscape4、appletviewer)によって
表示される行数が違ってくるので、もしはみ出る場合には、
自動的に行間を詰めて再描画するようにしました。
このalgorithmは、以降作ったSection 3、Section
1の問題文画面でも利用しています。
-
自動的に適宜改行するというのは
StringTokenizerを使えばわけないんですけれど、
Written Expressionsの「複数の語にまたがる下線」且つ、
「その真ん中辺りに選択肢のradio buttonを持ってくる」という
些細な点には苦労しました。更に改行を含む場合には、
下段の語について真ん中に来るようにしました。
具体的には、下線の始まる語の語長と間に含まれる空白の長さを計算し、
それを半分にして、更にradio button自身の半分の長さをマイナスした
位置から描画する、ようにしました。
-
limit timeは、練習用途を考え、敢えてeditableにしてあります。
ここをeditable(false)にすれば、完全な試験用途に使えそうな気はします。
又、途中で投げ出す場合でも、
いきなりAnswer buttonを押して解答を出すようにすると、
誤操作による事故も考えられるので、
一旦ちゃんとStop Timerでtimerを止めてから、
Answer buttonがenabledになるように設計しました。
buttonのenabled(false)はJDK1.1からの機能なので、
1.02 levelを考慮する場合には、timerを止めずにAnswer
buttonを押下するとWarning windowが出るようにしていましたが、
JDK1.1対応に踏ん切ったため、warning classは廃止しました。
-
Section 3では、本番標準時間が55分と長いことを鑑み、
1 passageだけのlesson modeも作ってみました。
これは、full courseのsubsetなので、簡単に用意することができました。
勿論問題はsubsetではなく、1 passage専用のものです。
-
passage本文もdrawStringで表現したかったんですが、
上述のように環境によって大きさが異なり、はみ出る場合があること、
下線を引く、radio
buttonを行頭につけるなどの特殊な処理が要求されないことから、
TextAreaによる安易な解決の道を選びました。
これですと、scroll barはこちらが作らなくても済みます。
「苦労した点」ではないかもしれませんが、
試行錯誤の上、ここに落ち着きました。
-
-
又、passageも改行挿入はsystem側で行ないたかったのですが、
設問中に、line xの〜という表現の意味は? というものもあるため、
system側で行数を可変にすることは断念しました。
問題data fileも、このpassage部分の入力については、
原文の行数に忠実である必要があります。
-
-
radio buttonの位置が特殊であるため、Layout
Managerはnullにしてあります。
が、それだとうまく再描画されない環境(Netscape on Linuxなど。
具体的には、2度目以降の描画時、各設問のAのradio
buttonだけ消失する)もありましたが、どうしても原因がわからず、
又実用上もさしたる障害がない(適宜clickすればradio
buttonが再度可視化される)と判断したため、そのままにしてあります。
-
意外にも? 物凄く苦労させられたのは、問題data inputです。
Emacsのispell modeで簡単なspell mistakesは防止できるとはいえ、
単調作業であり、
量も膨大だったため(ある程度問題数を揃えないと意味がないと思いまして)、
coding作業に匹敵するくらい大変でした。
又、解答はおろか解説までinputしたために、
ある程度問題を覚えてしまい、
私自身はこのsystemを用いて勉強できないという
落ちまでついてしまいました(泣)。
Class階層図
- TOEFL.class
-
Applet本体。Appletとしてuser interfaceを提供し、
Appletにしか出来ないことをやる。
parameterの読み出し、getCodeBase()によるURL object生成、
audio fileの読み込み・再生、Fontの決定(fontSizeもparameterで
指定できますので、LibrettoのようなVGA画面でも見られます)、
並びにstatic
methodとしてdata file parse時における頭文字判定methodを提供する。
又、以下の各classはPanelを継承し、
ComponentとしてこのTOEFL.classのCard Layoutに貼り付ける形をとる。
- Selection.class
-
userがchallengeするSection選択画面を提供し、
選択結果をTOEFL.classに返す。
TOEFL.classはこの選択結果を元にSection1〜Section3までのclassを
instantiateする。終わったら(Quit buttonが押されたら)、
TOEFL.classはこのSelection.classを貼り付けたCardにchangeし、
直前のSection[1-3].classはnullにされて破棄される。
- Section1.class
-
Section 1を用意する。Section1はA〜Cの3つのPartにわかれ、
Direction.class及びPart.classを逐次的にinstantiateする。
時間経過に伴って順々にinstantiateすることによって先読みを防いでいる。
Directionはomittableとしたため、
裏で同時にPart.classもinstantiateしている。
又、Runnable interfaceを備え時間計測をし、他にも得点集計処理、
解説表示のためのComments.classのinstantiateを行なっている。
他に、Card Layoutを装備し、Partのradio buttonの選択のされ方によって、
Part.classの表示切り替えを行なう。
このClass自身はPanelを継承し、TOEFL.classのCard
Layoutに貼り付けられる。
前述の通り、描画領域をはみ出す場合には行間を自動的に詰める。
- Direction.class
-
各Partに入る前に与えるdirectionを表示し読み上げる
(実際の読み上げはSection1.classが指示を出し、TOEFl.classが行なう)。
読み上げるべきdirectionを含んだdata fileを、
ReadFile.classをinstantiateすることで読み込み、表示する。
Panelを継承し、Section1のCard Layoutに貼り付けられる。
- Part.class
-
Constructorによって投げられるStringから自己のPartを決定し、
TOEFL.classから継続して投げられるURL
objectを元にReadFile.classをinstantiateすることによって
問題dataを読み込み、
Sec1Questions.classを次々とinstantiateすることで
問題を表示する。
やはりCard Layoutを装備し、radio buttonの選択により、
Sec1Questions.classを切り替える。
このClassもPanelを継承し、
Section1のCard Layoutに貼り付けられる。
- Sec1Questions.class
-
問題を5問ずつ表示する。TOEFL.classから延々と受け渡されてきたURL
objectを受け取り、ReadFile.classをinstantiateすることで
問題data fileを読み込み、自分の表示すべき5問だけを切り取り、
表示する。尚、本物に近づけるためと省spaceのため、
2段組表示にしてある。その点が、
Section2のQuestions.classと相違している。
このClassもPanelを継承し、
Part.classのCard Layoutに貼り付けられる。
- Section2.class
-
文字通りSection2を用意する。具体的には、ボタン類を作成し、
Questions.classをinstantiateし、又、
threadを走らせて時間計測、得点集計、
解説表示のためのComments.classのinstantiateといった終了処理、
を行なう。これ又Card Layoutを装備し、radio
buttonの選択によりStructure内やWritten
Expressions内の問題(Questions.class)表示切り替えを行ない、
「Next」「Previous」というbuttonでStructureとWritten
Expressionsの切り替えを行なう。
Card Layoutによってそのような切り替えを実現している。
Section2に限り、問題data
filesはTOEFL.classがReadFile.classを使って読み込み、
そのString[]を投げてくれるようになっている。
最初に作ったSectionであるので...
このClass自身Panelを継承し、TOEFL.classのCard
Layoutに貼り付けられる。
- Questions.class
-
Section2のStructureとWritten Expressionsを用意する。
Constructorで投げられた問題範囲数から、
自分がStructureなのかWritten Expressionsなのかを判断し
(Structureなら3問、Written Expressionsなら5問である)、
そのように描画する(paint methodにおいて両patternわかれている)。
描画領域をはみ出す場合には行間を自動的に詰める。
- Section3.class
-
文字通りSection3を用意する。具体的には、ボタン類を作成し、
Passage.classを5つinstantiateし、又、
threadを走らせて時間計測、得点集計、
解説表示のためのComments.classのinstantiateといった終了処理、
を行なう。これもCard
Layoutを用いてPassage.classの切り替えをする。
このClass自身はPanelを継承し、TOEFL.classのCard
Layoutに貼り付けられる。
- Passage.class
-
該当問題fileをReadFile.classをinstantiateすることで読み込み、
TextAreaにpassageを表示する。更に、1問毎にQuestion.classを生成し、
設問表示はQuestion.classに任せ、その切り替えにやはりCard
Layoutを用いている。
これも自身Panelを継承してSection3.classに貼り付けられている。
- Question.class
-
各1設問を表示する。Panelを継承し、Passage.classに貼り付けられる。
- ReadFile.class
-
URL objectとfileName Stringを受け取り、該当fileをhttpで読み込み、
String[]にため込む。getData() methodにてその情報を取り出す。
stand alone applicationでの利用を想定して、
String objectのみのConstructorの場合、local
fileから読み出すようにもなっているが、時間がなく、
又必要性もそれほど高くないと判断し、
TOEFL.classのstand alone application化に踏み切っていない。
- Comments.class
-
String[]とscore(int型)を受け取り、それをpop up
windowにて表示させるだけのclassである。
WindowListenerをinterfaceとして持ち、
Window Systemのclose buttonが押された時にも
disposeするようになっている。
u-ryo@mickey.homelinux.net
Last modified: Tue Sep 17 17:12:41 JST 2002