Jeg har fået lavet en liste, hvor jeg får smidt nogle ting ind, fra et array.
De forskellige ting i listen, kan godt markeres, men mit problem er så, at få programmet til at gøre noget, ud fra markeringen.
Så det jeg mangler, må være en eller anden form for ActionListener. Jeg kan bare ikke få skidtet til compile, eller i det hele taget til at virke.
Jeg har cirka 450 linier kode, så forsøger her at komme med de vigtigeste elementer i min kode.
public class Player
{
private JButton playButton;
String[] data = new String[10]; //Listen
JList dataList = new JList(data); //Listen hvor der kan markeres
public Krypit()
{
makeFrame();
}
private void openFile()
{
//Her bliver en fil åbnet, og sat i starten af listen:
if(file != null)
{
for(int i = 8; i >= 0; i--)
{
data[i+1] = data[i];
}
data[0] = file.getName();
}
}
private void klikliste()
{ //Her skal der udføres noget, når et element
//i listen er markeret, og der trykkes på playknappen
System.out.println(dataList.getSelectedIndex());//test
}
private void Playelement()
{ //Her skal der tjekkes om et element i listen er
//markeret, og hvis der er det, skal der udføres noget
}
private void makeFrame()
{ //Her bliver GUI elementerne oprette/lavet.
frame = new JFrame("Player");
//Selve listen der hvor elementerne kan markeres.
dataList.setPrototypeCellValue("Index 1234567890gnhrjekwgnbjkrel"); //Sætter breden af liste vinduet.
contentPane.add(dataList);
playButton = new JButton("Play File...", createImageIcon("Play.gif"));
playButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { playElement(); }
});
}
}
Der er selvfølgelig undladt en masse kode, men ovenstående
skulle være nok, mht. mit problem.
Hele konceptet er, at listen indeholder de sidste 10 afspillede filer. Og det skal så være muligt at markere en fil i listen, trykke på playknappen, og så få afspillet den fil. Så problemet er at få en slags ActionListener til at fungere på listen.
Nogen der kan hjælpe mig med det, eller evt. har link til nogle simple eksempler på nettet :-)
Pfh. tak :-)