java Swing JList的操作,增删改查都全了,JList与XML转换
package ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
public class JlistDemo3 {
private static Vector<String> v = new Vector<String>();// 可实现自动增长对象数组
private JFrame frame = new JFrame("JList例子");
private Container cont = ();
private static JList vectorList = null;
private JPanel buttonJPanel = new JPanel(new FlowLayout());// new
// BorderLayout()
private JButton allSelectButton = new JButton("全选");
private JButton noSelectButton = new JButton("全不选");
private JButton reverseSelectButton = new JButton("反选");
private JButton modifyButton = new JButton("修改");
private JButton syncButton = new JButton("同步到文件");
private JButton deleteButton = new JButton("删除");
private JButton addButton = new JButton("添加");
private JButton reNewButton = new JButton("初始化数据");
public static void main(String[] args) {
JlistDemo3 demo3 = new JlistDemo3();
// 初始化数据按钮
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
();
("hi");
("you");
("who");
("are");
(v);
}
});
// 删除按钮事件
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 如果vectorList有选中的,则通过vector删除,并重新显示到vectorList,否则提示未选中;
if (().length > 0) {
Object[] objArr = ();
for (int i = 0; i < ; i++) {
(objArr[i]);
}
(v);
// vectorList = null;
// vectorList = new JList(v);
} else {
(null, "请至少选中一列");
}
}
});
// 添加按钮事件
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String addStr = ("请输入添加的数据!");
(addStr);
(v);
}
});
// 添加修改按钮事件,双击JList列表时也会弹出修改框
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 如果没有选中一列或者选中多列都提示让其只能选择一列
Object[] objArr = ();
if ( < 0 || > 1) {
(null, "只能选择一列");
return;
} else {
(objArr[0]);
String modifyStr = ("请修改值",
objArr[0]);
(modifyStr);
(v);
}
}
});
// 增加全选按钮事件,点击全选时,JLIst列表全部选中
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ListModel model = ();
vectorList
.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
//
int[] allSelect = new int[()];
for (int i = 0; i < (); i++) {
allSelect[i] = i;
// (selectionModel)
// (v);
}
(allSelect);
// (i);
}
});
// 增加全部选按钮时间,点击全不选时,JList都不选中;
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int[] noSelectArr = new int[()];
for (int i = 0; i < ; i++) {
noSelectArr[i] = -1;
}
(noSelectArr);
}
});
// 反选按钮
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int[] allArr = new int[()];
for (int i = 0; i < ; i++) {
allArr[i] = i;
}
int[] selectArr = ();
for (int i = 0; i < ; i++) {
int value = selectArr[i];
for (int j = 0; j < ; j++) {
if (value == allArr[j]) {
allArr[j] = -1;
}
}
}
(allArr);
// for (int i = 0; i < ; i++) {
// (selectArr[i]);
//
// }
// (());
}
});
();
}
private void initUI() {
this.(new GridLayout(1, 2));
// 初始化按钮
(allSelectButton);
(noSelectButton);
(reverseSelectButton);
(modifyButton);
(syncButton);
(deleteButton);
(addButton);
(reNewButton);
// 初始化JList
("hi");
("you");
("who");
("are");
// ("hello");
// ("world");
// ("good");
// ("night");
vectorList = new JList(v);
(("JList列表"));
this.(buttonJPanel);
this.(new JScrollPane(vectorList));
this.(400, 200);
this.(new Point(500, 200));
this.(true);
this.(JFrame.EXIT_ON_CLOSE);
}
}