test035.java

package pack02;

import java.awt.Container;
import java.awt.GridLayout;
import java.util.Vector;

import javax.swing.AbstractListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.WindowConstants;

public class test035 extends JFrame
{

public static void main(String[] args)
{
new test035();
}

public test035()
{
this.setTitle("列表框");
Container container1 = this.getContentPane();
this.setLayout(new GridLayout(3,1,5,5));

String[] contents1 = new String[] {"String1","String2","String3","String4","String5"};
JList<String> list1 = new JList<>(contents1);
JScrollPane scrollPane1 = new JScrollPane(list1);

Vector<String> content2 = new Vector<>();
JList<String> list2 = new JList<>(content2);
content2.add("Vector1");
content2.add("Vector2");
content2.add("Vector3");
content2.add("Vector4");
content2.add("Vector5");
JScrollPane scrollPane2 = new JScrollPane(list2);

JList<String> list3 = new JList<>(new MyListModel1());
JScrollPane scrollPane3 = new JScrollPane(list3);

container1.add(scrollPane1);
container1.add(scrollPane2);
container1.add(scrollPane3);

this.setSize(500,300);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}

}

class MyListModel1 extends AbstractListModel<String>
{
private String[] contents = new String[] {"AbstractListModel1","AbstractListModel2","AbstractListModel3","AbstractListModel4","AbstractListModel5"};
public String getElementAt(int x)
{
if ( x < contents.length)
{
return contents[x++];
}
else
{
return null;
}

}

public int getSize()
{
return contents.length;
}
}