java Swing JList的操作,增删改查都全了,JList与XML转换

时间:2025-04-03 07:34:19
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); } }