Java by API/javax.swing/DefaultListSelectionModel
DefaultListSelectionModel.MULTIPLE_INTERVAL_SELECTION
import javax.swing.DefaultListSelectionModel;
import javax.swing.JList;
public class Main {
public static void main(String[] argv) throws Exception {
String[] items = { "A", "B", "C", "D" };
JList list = new JList(items);
list.setSelectionMode(DefaultListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
}
}
DefaultListSelectionModel: setLeadAnchorNotificationEnabled(boolean flag)
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class MainClass extends JPanel {
String label[] = { "Zero", "One", "Two" };
JList list;
public MainClass() {
setLayout(new BorderLayout());
list = new JList(label);
JScrollPane pane = new JScrollPane(list);
DefaultListSelectionModel m = new DefaultListSelectionModel();
m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
m.setLeadAnchorNotificationEnabled(false);
list.setSelectionModel(m);
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
System.out.println(e.toString());
}
});
add(pane, BorderLayout.NORTH);
}
public static void main(String s[]) {
JFrame frame = new JFrame("List Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new MainClass());
frame.pack();
frame.setVisible(true);
}
}
DefaultListSelectionModel: setSelectionMode(int selectionMode)
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class MainClass extends JPanel {
String label[] = { "Zero", "One", "Two" };
JList list;
public MainClass() {
setLayout(new BorderLayout());
list = new JList(label);
JScrollPane pane = new JScrollPane(list);
DefaultListSelectionModel m = new DefaultListSelectionModel();
m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
m.setLeadAnchorNotificationEnabled(false);
list.setSelectionModel(m);
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
System.out.println(e.toString());
}
});
add(pane, BorderLayout.NORTH);
}
public static void main(String s[]) {
JFrame frame = new JFrame("List Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new MainClass());
frame.pack();
frame.setVisible(true);
}
}