MultiExplorer 2.1 ziet het levenslicht

Er is een nieuwere versie van MultiExplorer uitgekomen. Deze bevat gewoon twee extra data providers, een extra regel in de Configuration om de ZipDataProvider toe te voegen in je XML, de factory voor filetypes is verbeterd en een JDialog is verplaatst omdat hij showde wanneer hij logisch gezien niet moest showen.

In de nieuwe versie zie je één nieuwe data provider. De ZipDataProvider (zie vorige post) is standaard toegevoegd. Er is ook een data provider voor KHLeuven studenten. Ze kunnen met mijn programma browsen op de file servers zoals export, dropbox, je home folder, … Hiervoor moet je de config.xml openen (dit staat in .me map van je account) en volgende regel toevoegen aan <dataproviders>

<dataprovider>be.khleuven.s509679.vgo.me.dataprovider.KHLeuvenDataProvider</dataprovider>

En natuurlijk omdat je gisteren de broncode van ZipDataProvider kreeg, krijg je ook de broncode van KHLeuvenDataProvider.

http://aiids.pastebin.com/wBu2dqSy

Download: MultiExplorer2.1Final.jar (1,18MB)
MD5 checksum: 4afb336e379a72c428471beaaf88aa46
SHA-1 checksum: 8a61ac61a355891ff23b5eaf3581859f841495c1

Advertentie

Explorer zip files in MultiExplorer

Jaja :-) Heb net mijn UML eens getekend en afgedrukt op A0 papier. Daarnaast heb ik een extra klasse gemaakt zodat de lector zal zien dat mijn programma flexibel is. Helaas zit ik nog in de knoei met de classpath maar dit komt in orde. Hierbij de code van ZipDataProvider.

http://aiids.pastebin.com/5G5TxvNY

Ook de UML mag je ontvangen van mij.

MultiExplorer 1.0 final release

Het is zover…de final release van MultiExplorer’s eerste versie. Er zijn nieuwe bestandtypes toegevoegd, een nieuwe beeld, opties bovenaan om bestanden/mappen te verwijderen, aan te maken, kopiëren, plakken en te hernoemen. Er zijn ook een aantal bugjes uitgehaald. De menubalk is ook weg omdat er maar één functie was, namelijk een nieuwe tab openen. Dit is vervangen door een plus-icoon-tab achteraan de andere tabs (inspiratie door Firefox). Foutmeldingen worden zoveel mogelijk zelf opgelost, de fouten die nog niet automatisch worden verholpen worden getoont in een venster met de boodschap. Standaard worden de bestanden van de huidige gebruiker getoont van deze computer.

De kopieer/plak functie werkt volledig maar heeft jammer genoeg geen progressbalk. Dus grote bestanden kopiëren kan lang duren. Wanneer je een bestand kopieert, dan wordt de “plakken” knop actief in alle tabs. Dit betekent dat je dit bestand kan plakken in alle tabs. Je kan gerust van PC naar FTP plakken en visa versa maar ook van PC naar PC en van FTP naar FTP. De functionaliteit hangt niet af van het soort data provider.

Wat komt er nog? Ik ga na de examens hier een Google project voor oprichten, ga wat uitbreidingen toevoegen:

  • Zoekfunctie
  • Mappen kopiëren en plakken
  • Progressbalk voor acties die aan het uitvoeren zijn (files deleten, plakken, van map veranderen, …)
  • JTable gebruiken in plaat van JList zodat het beeld “Tegels” de bestanden naast elkaar kan plaatsen.

Download: MultiExplorer2Final.jar (801 kB)
MD5 checksum: 4faa22f31e69de3727bc5d314e5690ec
SHA-1 checksum: 3974f30b574339522216d9412c501715aab48a03

MultiExplorer RC1

Jup jup, ik zit niet stil. Het gaat goed mijn MultiExplorer. Het enige wat ontbreekt zijn features als mappen aanmaken, bestanden openen met een extern programma afhankelijk van het type bestand,  kopieren/plakken van de ene tab naar de andere tab en een “Map aan het openen…” lader. Die lader is nodig voor verkenning via netwerk en dit traag kan gaan. Deze features worden zondag met de final release toegevoegd. Ditmaal een screenshot want de vorige keer was ik dit vergeten.

Download: MultiExplorer2ReleaseCandidate.jar (536 kB)
MD5 checksum: e50b8a18b55fcb515cb8983f667d45e6
SHA-1 checksum: b917c04f0d84331e7bbae22c2e481ada78b7eb01

MultiExplorer beta 1

Voor het vak Visuele Gebruikersomgevingen (Java GUI software maken met Swing) moeten we een eindproject maken. Ik had eerst gedacht aan een formulier ontwerpen. Dit heb ik vervangen door een soort van bestanden verkenner. De reden was dat een formulier ontwerpen mij teveel werk ging kosten voor de tijd enzin die ik had.

MultiExplorer is eigenlijk een bestanden verkenner die met verschillende technologiën werkt. Je kan bestanden verkennen op je eigen computer, op een ftp server, … Ik laat drie puntjes omdat ik die eerste twee zelf gemaakt heb. Het programma is ontworpen zodat jij zelf ook een technologie kan implementeren en toevoegen aan het systeem. Het heeft een ingenieus setup systeem per technologie die gebruik maakt van Java Reflect.

Het gaat hier om beta 1 (er is al een eerdere versie geschreven maar die is later verworpen en terug vanaf 0 gewerkt wegens slecht ontwerp) en dus zitten er nog foutjes en ontbrekende modules in dit programma.

Mensen die graag de FTP willen testen. Je kan als hostname ftp.mozilla.org gebruiken zonder username en password. De PathSeparator is /. Dit wordt gevraagd omdat ik niet kan achterhalen wat het symbool is dat de mappen van elkaar scheidt. Van de computer kan ik dit wel achterhalen.

Er komt nog een toolbar bij zodat je een map hoger kan en ook vorige locaties kan terug openen. Ook komen er views zodat die lijst met bestandname vrolijker wordt. En als kers op de taart wat opties zoals copy/paste/delete/open/download/…

Veel plezier met het testen. En laat ik avdg niet vergeten te bedanken voor de eerste test te doen.

Download: MultiExplorer2Executable.jar (462 kB)
MD5 checksum: 6611f5ca1f93d8e3eac2de1336d5c7fe
SHA-1 checksum: cadcddf152a7d16439f67ebd69c9c2814f61b7dc

Image viewer uitgebreid

Ik ben net klaar met me vijfde opdracht voor Visuele gebruikersomgevingen. Ik ben redelijk tevreden van het resultaat maar struikel toch nog over het heap overflow probleem. Wat heb ik gemaakt? Ik heb mijn vorige Image Viewer uitgebreid met extra functies zoals een slideshow. Er zit dus een Timer in, een JPopupMenu die je toelaat om tijdens de slideshow te pauzeren of te stoppen, een Toolbar die je bovenaan ziet en nog zoveel meer.

Download: ImageViewer.jar (243 kB)
MD5 checksum: 34109082368238f57b9b6fa9d806f4d5
SHA-1 checksum: f71d0d8813924d856ee347a438c27766559b1a44

Image viewer

Alweer een nieuwe applicatie. Deze keer moesten we een eigen layout manager maken en het template patroon gebruiken.

http://dl.dropbox.com/u/1056571/Java/imageviewer.normaal.jar
http://dl.dropbox.com/u/1056571/Java/imageviewer.negatief.jar

Er zitten twee foutjes in. Als de afbeelding kleiner is dan 100 op 100 pixels, gaat hij een exception gooien. Als er teveel afbeeldingen zijn om te laden gaat hij een heap overflow exception gooien.

Simple notepad applicatie

Voor me tweede opdracht voor het vak visuele gebruikersomgevingen moesten we iets maken dat WindowEventListener, JDesktopPane, JList met JDefaultModel en GridBagLayout gebruikte. In plaats van GridBagLayout mocht je ook MigLayout gebruiken. MigLayout is een layout ontwikkeld niet door Sun en werd eigenlijk aangeraden door een student die al veel Swing ervaring heeft.

Ik had eerst me notepad met GridBag gedaan maar het is zo moeilijk te begrijpen en maakte fouten tijdens runtime. Je moet ze maar eens bekijken de fouten. Ik heb zes uur zitten zoeken wat de fout is en niet gevonden. Na een halfuur had ik hetzelfde met MigLayout en het werkt correct tijdens runtime. Mensen die ook met Swing werken, kan ik vanaf nu MigLayout aanraden.

De eerste foto is hoe het er zou moeten uitzien. Bij de derde foto voeg ik iets toe aan de textarea linksonder. Hierdoor gaat die panel verbreden. Bij de tweede foto heb ik de applicatie geminimaliseerd en dan terug gemaximaliseerd. Geen scrollbalk maar hij is vergroot. GridBagLayout gebruiken is problemen zoeken.

Voor alle mensen die hopeloos zoeken naar de link van de applicatie, het staat hieronder.

Simple notepad applicatie

update

Er is nu syntax highlighting!!! Dankzij JSyntaxPane project :-).

Eerste Swing applicatie

We hebben een vak Visuele gebruikersomgevingen en moeten verschillende opdrachten maken. De eerste opdracht was eens een eerste gebruikersinterface te ontwerpen. Klik op de link hieronder om hem (of zij :p) te starten.

http://tinyurl.com/yhyljge

Veel plezier :)