B
Bastien
Gast
Hallo,
ich habe 2 JList instanzen wo links und rechts etwas ausgewählt werden kann:
das Problem ist es soll zur selben Zeit immer nur in einer JList etwas ausgewählt werden können. Das funktioniert auch zu 90 %... Das Problem ist wenn in einer JList etwas angeklickt wurde und ich in die andere JList klicke siehts aus wie auf dem Bild: wie man sieht ist das Element in der linken Liste unschön selektiert sprich es ist nur der Focus Rahmen aber keine echte Selektion wo das komplette Rechteck eine blaue Hintergrundfarbe bekommt.
Den code könnt ihr einfach in eine leere Klasse einfügen und starten und sofort seht ich das fenster wie auf meinem screenshot.
der Code dazu:
ich habe 2 JList instanzen wo links und rechts etwas ausgewählt werden kann:
das Problem ist es soll zur selben Zeit immer nur in einer JList etwas ausgewählt werden können. Das funktioniert auch zu 90 %... Das Problem ist wenn in einer JList etwas angeklickt wurde und ich in die andere JList klicke siehts aus wie auf dem Bild: wie man sieht ist das Element in der linken Liste unschön selektiert sprich es ist nur der Focus Rahmen aber keine echte Selektion wo das komplette Rechteck eine blaue Hintergrundfarbe bekommt.
Den code könnt ihr einfach in eine leere Klasse einfügen und starten und sofort seht ich das fenster wie auf meinem screenshot.
der Code dazu:
Code:
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class Test extends JFrame implements ListSelectionListener
{
static final long serialVersionUID = 1L;
private DefaultListModel listModelLehrer = new DefaultListModel();
private JList listeLehrer = new JList(listModelLehrer);
private JScrollPane listbereichLehrer = new JScrollPane(listeLehrer);
private DefaultListModel listModelSchueler = new DefaultListModel();
private JList listeSchueler = new JList(listModelSchueler);
private JScrollPane listbereichSchueler = new JScrollPane(listeSchueler);
public Test()
{
setLayout(null);
add(listbereichLehrer);
add(listbereichSchueler);
listbereichLehrer.setBounds(230,150,150,360);
listbereichSchueler.setBounds(400,150,150,360);
listModelSchueler.addElement("Verena Müller");
listModelSchueler.addElement("Verena Müller");
listModelSchueler.addElement("Verena Müller");
listModelLehrer.addElement("Bruno Beisser");
listModelLehrer.addElement("Bruno Beisser");
listModelLehrer.addElement("Bruno Beisser");
listModelLehrer.addElement("Bruno Beisser");
listeLehrer.addListSelectionListener(this);
listeSchueler.addListSelectionListener(this);
}
public void valueChanged( ListSelectionEvent e )
{
if(!e.getValueIsAdjusting())
{
if(e.getSource().equals(listeSchueler))
{
listeLehrer.clearSelection();
}
if(e.getSource().equals(listeLehrer))
{
listeSchueler.clearSelection();
}
}
}
public static void main(String args[])
{
Test Fenster = new Test();
Fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Fenster.setSize(580,600);
Fenster.setLocationRelativeTo(null);
Fenster.setResizable(false);
Fenster.setVisible(true);
}
}