import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class ListPropertiesDemo extends JApplet {
private JList<String> jlst = new JList<String>(new String[] {
"Item1", "Item2", "Item3", "Item4", "Item5", "Item6"});
private JSpinner jspVisibleRowCount =
new JSpinner(new SpinnerNumberModel(8, -1, 20, 1));
private JComboBox jcboLayoutOrientation =
new JComboBox(new String[] {"VERTICAL (0)",
"VERTICAL_WRAP (1)", "HORIZONTAL_WRAP (2)"});
private JComboBox jcboSelectionMode =
new JComboBox(new String[] {"SINGLE_SELECTION (0)",
"SINGLE_INTERVAL_SELECTION (1)",
"MULTIPLE_INTERVAL_SELECTION (2)"});
private JLabel jlblStatus = new JLabel();
public ListPropertiesDemo() {
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(3, 1));
panel1.add(new JLabel("visibleRowCount"));
panel1.add(new JLabel("layoutOrientation"));
panel1.add(new JLabel("selectionMode"));
JPanel panel2 = new JPanel();
panel2.setLayout(new GridLayout(3, 1));
panel2.add(jspVisibleRowCount);
panel2.add(jcboLayoutOrientation);
panel2.add(jcboSelectionMode);
JPanel panel3 = new JPanel();
panel3.setLayout(new BorderLayout(5, 5));
panel3.add(panel1, BorderLayout.WEST);
panel3.add(panel2, BorderLayout.CENTER);
add(panel3, BorderLayout.NORTH);
add(new JScrollPane(jlst), BorderLayout.CENTER);
add(jlblStatus, BorderLayout.SOUTH);
jlst.setFixedCellWidth(50);
jlst.setFixedCellHeight(20);
jlst.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jspVisibleRowCount.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
jlst.setVisibleRowCount(
((Integer)jspVisibleRowCount.getValue()).intValue());
}
});
jcboLayoutOrientation.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jlst.setLayoutOrientation(
jcboLayoutOrientation.getSelectedIndex());
}
});
jcboSelectionMode.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jlst.setSelectionMode(
jcboSelectionMode.getSelectedIndex());
}
});
jlst.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
Object[] values = jlst.getSelectedValues();
String display = "";
for (int i = 0; i < values.length; i++) {
display += (String)values[i] + " ";
}
jlblStatus.setText(display);
}
});
}
public static void main(String[] args) {
ListPropertiesDemo applet = new ListPropertiesDemo();
JFrame frame = new JFrame();
//EXIT_ON_CLOSE == 3
frame.setDefaultCloseOperation(3);
frame.setTitle("ListPropertiesDemo");
frame.getContentPane().add(applet, BorderLayout.CENTER);
applet.init();
applet.start();
frame.setSize(400, 320);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}