D
Die Kleene
Gast
Wie bekomme ich es hin, dass mir ein JLabel anzeigt, welches Element gerade in der JList ausgewählt ist, so mit update des Labels, falls sich das Markierte Element ändert?
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
public class MyJList extends JFrame {
static final String[] DATA = {
"Hund", "Katze", "Meerschweinchen", "Tiger", "Maus",
"Fisch", "Leopard", "Schimpanse", "Kuh", "Pferd",
"Reh", "Huhn", "Marder", "Adler", "Nilpferd"
};
private JList list;
private JLabel anzeige;
public MyJList() {
super("Die Tierfarm");
Container cp = getContentPane();
//Liste
list = new JList(DATA);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setSelectedIndex(2);
cp.add(new JScrollPane(list), BorderLayout.CENTER);
//Ausgabe-Button
anzeige = new JLabel("Mein Tier: "+list.getSelectedValue().toString());
cp.add(anzeige, BorderLayout.SOUTH);
}
public static void main(String[] args)
{
MyJList frame = new MyJList();
frame.setLocation(100, 100);
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
list.addMouseListener( new MouseAdapter() {
@Override public void mouseClicked( MouseEvent e ) {
if ( e.getClickCount() == 1 )
anzeige.setText("Mein Tier: " + list.getSelectedValue().toString()) ;
}
} );
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
if (evt.getValueIsAdjusting())
return;
anzeige.setText( "Mein Tier: "+list.getSelectedValue().toString() );
}
});