Toon posts:

[JAVA] File Browser lukt niet om een keylistner aan te koppe

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste allemaal,

Ik snap echt iets niet en heb me helemaal rot gezocht op het web.

Ik heb een libary kunnen vinden die een filesystem maakt. Nu heb ik het file system in een jFrame gezet en wil ik als ik een bestand selecteer dat er dan geluisterd wordt naar deze actie.

Ik maak gebruik van Netbeans en daar kun je mee als je rechtermuisknop drukt een Event eraan koppelen een selectionChanged event. als ik die gebruik dan krijg ik de melding bij het builden:

C:\Documents and Settings\Daniel\project\HoofdScherm_Test
.java:318: <anonymous project.HoofdScherm_Test$3> is not abstract and does not override abstract method filesTableSelectionChanged(at.ua.fragner.fileSystemBrowser.event.FileSystemBrowserEvent) in at.ua.fragner.fileSystemBrowser.event.IFileSystemBrowserListener
public void selectionChanged(at.ua.fragner.fileSystemBrowser.event.FileSystemBrowserEvent evt) {
1 error
BUILD FAILED (total time: 0 seconds)


Dus op inet gezocht en ik krijg te zien dat ik een interface zal moeten gebruiken: LINKhttp://codase.com/search/...7137+7236+7240+7329+7333+

Dat met die interfaces lukt me niet erg want ik heb het filesystem al in de GUI staan.

Heeft iemand een idee waar ik zou moeten beginnen om dit op te lossen?

Alvast bedankt,

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 15-02 15:52

Nick_S

++?????++ Out of Cheese Error

Je zou kunnen beginnen met het implementeren van de functie filesTableSelectionChanged in je klas HoofdScherm_Test (Tip, gebruik nooit underscores in je klasse naam).

Daarna zul je waarschijnlijk nog errors krijgen over:

code:
1
2
void directoryTreeSelectionChanged(FileSystemBrowserEvent e);
void filesTableSelectionChanged(FileSystemBrowserEvent e);

Zie de interface IFileSystemBrowserListener

Volgens mij heb je namelijk hiervan een nieuwe class gemaakt, iets als:
code:
1
2
3
new IFileSystemBrowserListener() {

}


Hier zul je dus alle methodes uit die interface moeten implementeren (3 stuks dus)

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


Verwijderd

Topicstarter
Nick_S schreef op woensdag 12 juli 2006 @ 11:18:
Je zou kunnen beginnen met het implementeren van de functie filesTableSelectionChanged in je klas HoofdScherm_Test (Tip, gebruik nooit underscores in je klasse naam).

Daarna zul je waarschijnlijk nog errors krijgen over:

code:
1
2
void directoryTreeSelectionChanged(FileSystemBrowserEvent e);
void filesTableSelectionChanged(FileSystemBrowserEvent e);

Zie de interface IFileSystemBrowserListener

Volgens mij heb je namelijk hiervan een nieuwe class gemaakt, iets als:
code:
1
2
3
new IFileSystemBrowserListener() {

}


Hier zul je dus alle methodes uit die interface moeten implementeren (3 stuks dus)
Ok dankje voor de tip om geen _ te gebruiken.

Wat ik heb gedaan is; ik heb de libary eerst gedownload en toegevoegd. In Netbeans kun je hem ook in de swing palette toevoegen zodat je net als een button op je jframe kan toevoegen.

Is wat ik heb gedaan niet juist dan?

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 15-02 15:52

Nick_S

++?????++ Out of Cheese Error

Aan je foutmelding te zien heb je een anonymous class gemaakt, dus in je code van je Hoofdscherm iets van:
code:
1
2
3
new IFileSystemBrowserListener() {
 //hier waarschijnlijk wat code
}


Maar om deze interface goed te implementeren moet je dus die drie functies uit die interface overriden, dus zal het zoiets moeten worden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
new IFileSystemBrowserListener() {
void selectionChanged(FileSystemBrowserEvent e) {
//code
}
void directoryTreeSelectionChanged(FileSystemBrowserEvent e) {
//code
}
void filesTableSelectionChanged(FileSystemBrowserEvent e) {
//code
}

}

Let even niet op het inspringen, maar ik hoop dat het idee duidelijk is. Je zal nog wat code moeten toevoegen.

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'