14. marts 2003 - 13:53
Der er
2 kommentarer og
1 løsning
KeyActionListener på Jlist.
Hejsa,
En har en jlist der indeholder objekter. Når jeg trykker på musen på et element vises dets data i nogle textfelter. Men hvis man bruger piltasterne til at gå ned på næste element så fremkommer dataene ikke. Hvordan gør jeg sådan at de gør det?
14. marts 2003 - 14:45
#1
Du skal ikke bruge en keyListener, men en ListSelectionListener:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.util.*;
import java.io.Serializable;
public class TestFrame extends JFrame {
private DefaultListModel model;
private JList list;
private ArrayList firmaer;
public TestFrame() {
super("Test");
setSize(600,400);
firmaer = new ArrayList();
firmaer.add(new Firma("Lego", "Danmark"));
firmaer.add(new Firma("Mærsk", "Danmark"));
firmaer.add(new Firma("Codecompletion", "Danmark"));
firmaer.add(new Firma("Tartan Pub", "Danmark"));
firmaer.add(new Firma("Buddy Holly", "Danmark"));
list = new JList(firmaer.toArray());
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if( !e.getValueIsAdjusting() ) {
int index = list.getSelectedIndex();
System.out.println ("Selected: "+list.getModel().getElementAt(index));
}
}
});
getContentPane().add(new JScrollPane(list), BorderLayout.CENTER);
}
private class Firma implements Serializable {
private String navn;
private String land;
public Firma(String navn, String land) {
this.navn = navn;
this.land = land;
}
public void setNavn(String navn) { this.navn = navn; }
public void setLand(String land) { this.land = land; }
public String getNavn() { return (this.navn); }
public String getLand() { return (this.land); }
public String toString() {
StringBuffer toString = new StringBuffer();
toString.append(navn +" ["+land+"]");
return new String(toString);
}
}
}
class Go {
public static void main(String[] args) {
new TestFrame().show();
}
}
19. marts 2003 - 07:54
#3
Beklager den lange svar tid, er ved at flytte i øjeblikket....
Det virker jo bare som det skal :o)
Endnu engang tak for hjælpen
mvh
Torben