JList vraag

Status
Niet open voor verdere reacties.

BartP

Gebruiker
Lid geworden
10 jan 2008
Berichten
37
Goedenmiddag,

Ik ben ook met de JFrame applicatie Kreta bezig. Alleen nu loop ik vast met mijn inner class voor de JList

deze code werkt voor de knoppen maar niet voor de JLIST:
HTML:
Menu.addActionListener(new selectActie());
HTML:
class legenActie implements ActionListener {
	public void actionPerformed(ActionEvent e){
		System.out.println("kijken of ie iets wil legen");
	}
}

Nu heb ik het ook geprobeerd met MouseEventListener maar ik krijg dat niet werkend.
Nu is mijn vraag welke functie moet je daarvoor gebruiken. omdat ik ook mijn SELECT QUERY erop af wil stellen. SELECT menu_id, naam_gerecht FROM afhaalmenus WHERE menu_id = 'ID'. Ook moet ik kijken hoe ik vanuit een sql query direct de gegevens kan ikladen in een JLIST als dit uberhaupt mogelijk is.

//////////
Dit zal mijn SQL statement worden .. maar hoe krijg ik de menu_id en naam_gerecht in een JLIST.
HTML:
statement.executeQuery("SELECT menu_id,naam_gerecht FROM afhaalmenus WHERE menu_id = 'ID'");
/////////

Heeft iemand een idee.

MVG BartP
 
Als je wijziging in de selectie wil zien heb je de ListSelectionListener nodig. Deze kan je toevoegen aan selectionModel van de list

Code:
list.getSelectionModel().addListSelectionListener(new ListSelectionListener() {...}


Let op het event heeft een functie e.getValueIsAdjusting() deze moet false zijn voor je wat gaat doen. (dit houdt in de gebruiker klaar is met het maken van de selectie..)

succes
 
Als ik het nu goed begrijp moet ik de ListSelectionListener gebruiken. Ik begrijp het tot het feit Menus.addListSelectionListener(new selectActie()); . maar hoe ga ik dit realiseren in de innerclass selectActie, wat moet ik dat implementen en wat voor soort e / event heb ik dan??

------------------
Ik hoop ook dat ik duidelijk uitgelegd heb zodra dat ik op een ander item uit de lijst klik dat ie gaat werken.. zo kan mijn query ook gaan werken.
------------------
mvg

BartP
 
Laatst bewerkt:
Je moet een ListSelectionListener maken deze interface heeft maar functie nml

public void valueChanged(ListSelectionEvent e)

De belangrijkste functie van dit event zijn e.getSource (dit geeft je ListSelectonModel) en getIsValueAdjusting() dit geeft als of de user klaar is met selectecten.

Om de geselecteerde rijen te krijgen heb doe je eerst:
ListSelectionModel selectie = (ListSelectionModel) e.getSource()

selectie.getMinSelectionIndex() en getMaxSelectionIndex() geven de eerste en laatse geselecteerd rij aan.
Als je multiselectie toestaat op de list (dus bv. rij 1, 3 en 5) moet je zelf de rijen aflopen en met isSelectedIndex() controleren of de rij echt geselecteerd is.
(als je maar single selection toestaat wordt het eenvoudiger dan heb je met getMinSelectionIndex() gelijk de juiste rij :) )

Als je de inhoud van je lijst uit en database wil halen. Gebruik je een DefaultListModel klas deze bevat de inhoud van je list.

listModel = new DefaultListModel();
listModel.addElement("regel1);
listModel.addElement("regel2");
list = new JList(listModel);

Je mag later elementen toevoegen en verwijderen en de list wordt dan automatisch geupdate.

Succes,

ps. als je IDE gebruikt en goed geinstalleerd is, gebruik dan code assist (meestal ctrl-space) om te kijken welke functie een klasse heeft.:)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan