Simple Java vocabulary tool with text file based dictionary

Completed Posted Mar 29, 2009 Paid on delivery
Completed Paid on delivery

I need a simple vocabulary tool with one (initial) 4 lines, resizable? listbox and three buttons.

Vocabularies should be read from text file and missed vocabularies written to second text file.

Tool should be writte in Java.

A few? minor, simple, additional features like keypress actions, parameter passing, statistic output.

## Deliverables

In detail the following functions should be included:

1.) The program should be implemented in Java 1.5 or 1.6 and put into a startable *.jar file The GUI should be implemented with Swing controls and with standard java classes. No further 3rd party library should be used. The number of created classes and sources files should be reduced to a minimum. If possible and necessary anonymous, inner classes should be used. Intended operation OS is WindowsXP. 2.) The program should be called from commandline with one (file) parameter: java -jar [login to view URL] <vocfile />sample: java -jar [login to view URL] "D:\test\vocs\[login to view URL]"

? 3.) The parameter <vocfile />is a pure text file with the following format: ... src vocabulary1 term or sentence target vocabulary1 term or sentence <one />src vocabulary2 term or sentence target vocabulary2 term or sentence <one />... sample: grant garantiert onion Zwiebel

4.) The GUI of the program should look like the attached drawing and consist simply of - a title bar with minimize and close button - a listbox with initially 4 lines by default - three buttons - a status bar Snapshot see here: [login to view URL] The window should be only vertically resizable - not horizontally. When the window is resized vertically only the number of visible lines in the listbox should be increased/decreased. The button sizes remain fixed. 5.) After start the program should randomly (!) pick a src vocabulary from the <vocfile />and present it to the user in the last line of the list box. No vocabulary should be presented twice in a session. If the <vocfile />does not exist or is empty a warning popup should appear.

6.) The user decides now if he remembers the translation or not. In contrast to most other vocabulary programs he does NOT have to enter something into an entry field! When he does not remember it or he remember it wrong the vocabulary is marked as "missed" (for later storage).

? 7.) The user can now click - the "exit" icon button in the right upper corner to leave the program. Alternatively the user can press the <esc />key on the keyboard. Just before leaving the program all missed vocabularies should be written to a second textfile <missfile />. See explanations in 8.) - the "next" button (then the refering target result line (=translation) is presented at the bottom of the listbox, then one blank line is inserted and the next random vocabulary is presented. Whenever a new line (src or target) is shown the older lines are shifted to the top) Instead of clicking the "next" button the user should be able to press the "PageDown" or "Return" key on the keyboard. - the "mark and next" button (same as "next" but here in addition the current src vocabulary is marked as "missed". - the "mark last" (same as before but no new src vocabulary is presented. Instead the the second last src vocabulary is marked as "missed".

8.) The <missfile />mentioned in 7.) which is written just before every prgm exit/close should be placed in the same directory as the original source vocabulary file. The file name should be the same name as the original source vocabulary file but with an additional ".[login to view URL]" appended. The format inside <missfile />should be the same as the original source vocabulary file. Obviously the <missfile />should contain only those vocabulary terms which are missed in the current session. A possibly existing old <missfile />should be overwritten.

9.) All dimensions (width, height) of the buttons and the listbox should be declared on top of the class definition in the source code so that they can be changed later (if needed). Same applies to the font name and size for the text of the listbox and buttons. So the java class definition should start similar to: int bHeight = 40; // height is the same for all buttons int bMarkLastWidth = 150; //pixel int bMarkNextWidth = 250; //pixel int bNextWidth = 350; //pixel int lbHeight = 300; // listbox height int windowTotalWidth = bMarkLastWidth + bMarkNextWidth + bNextWidth; int windowTotalHeight = lbHeight + bHeight; .... lbFontSize = 12; // pixel .... lbFont = "Georgia, Times New Roman, Arial"; .... bFontSize = 14; // pixel .... bFont = "Georgia, Times New Roman, Arial";

? 10.) The listbox should initially show 4 lines: - second last src vocabulary - second last target vocabulary - blank line - current src vocabulary When windows is vertically resized the number of visible lines should be decreased/increased (see 4.)

11.) The window title bar should tell the user the currently used vocabulary file name (including the prepended path)

12.) Window status bar should tell the user about the total number of vocabulary items in <vocfile />and the tested vocabulary in the current session similar to: total vocs=1367 curr vocs=89 curr missed=23 The possible number of vocabulary in the file can be 1 up to 10000

? 13.) src vocabulary terms or sentences WITHOUT immediately following target line (=single text lines) should be ignored

14.) There should be no file handle locks on the <vocfile />So the content of the <vocfile />must be read at the beginning of a training session into in internal array/Map. The file handle must be closed afterwards.

? 15.) All characters from western charset (english, german, spanish, french) must be read+writeable The lines can contain special chars like ()[]?:=-,.;:%/&$!_#'+~* 16.) Source code must be provided at the end and (of cause) be compileable

Engineering Java Microsoft MySQL PHP Software Architecture Software Testing Windows Desktop

Project ID: #3769817

About the project

31 proposals Remote project Active Apr 8, 2009

Awarded to:

adnanwaheed

See private message.

$21.25 USD in 14 days
(12 Reviews)
2.9

31 freelancers are bidding on average $67 for this job

pem

See private message.

$72.25 USD in 14 days
(118 Reviews)
7.5
MuktoSoftware

See private message.

$68 USD in 14 days
(462 Reviews)
7.5
TopOfStack

See private message.

$68 USD in 14 days
(197 Reviews)
7.4
krylenkom

See private message.

$85 USD in 14 days
(271 Reviews)
6.9
kindcodersl

See private message.

$55.25 USD in 14 days
(270 Reviews)
6.8
bahe

See private message.

$85 USD in 14 days
(147 Reviews)
6.5
Andreena

See private message.

$63.75 USD in 14 days
(272 Reviews)
5.9
liumy1985

See private message.

$42.5 USD in 14 days
(150 Reviews)
5.7
StrongDecs

See private message.

$25.5 USD in 14 days
(25 Reviews)
4.3
Justin1891

See private message.

$59.5 USD in 14 days
(11 Reviews)
3.4
enikos

See private message.

$85 USD in 14 days
(6 Reviews)
3.5
ess85

See private message.

$51 USD in 14 days
(12 Reviews)
2.8
jvkoder

See private message.

$25.5 USD in 14 days
(7 Reviews)
2.5
Whivel

See private message.

$25.5 USD in 14 days
(2 Reviews)
1.8
Maxtor1

See private message.

$8.5 USD in 14 days
(6 Reviews)
0.6
shirindora

See private message.

$25.5 USD in 14 days
(0 Reviews)
0.0
mattzmuda

See private message.

$85 USD in 14 days
(1 Review)
0.0
cbasah

See private message.

$29.75 USD in 14 days
(0 Reviews)
0.0
darkmagex6

See private message.

$42.5 USD in 14 days
(0 Reviews)
0.0
synccoder

See private message.

$42.5 USD in 14 days
(0 Reviews)
0.0