温馨提示×

Java中如何动态修改CheckedListBox内容

小樊
83
2024-09-03 13:52:57
栏目: 编程语言

在Java中,没有名为CheckedListBox的组件

首先,确保已经导入了以下库:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

接下来,创建一个简单的JFrame,并添加一个JList和两个按钮。JList将用于显示可选项,而按钮将用于添加和删除列表项。

public class CheckedListBoxExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Checked List Box Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);

        DefaultListModel<String> listModel = new DefaultListModel<>();
        listModel.addElement("Item 1");
        listModel.addElement("Item 2");
        listModel.addElement("Item 3");

        JList<String> list = new JList<>(listModel);
        list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        JScrollPane scrollPane = new JScrollPane(list);

        JButton addButton = new JButton("Add Item");
        JButton removeButton = new JButton("Remove Selected Items");

        frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
        frame.getContentPane().add(addButton, BorderLayout.SOUTH);
        frame.getContentPane().add(removeButton, BorderLayout.NORTH);

        addButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String newItem = "New Item " + (listModel.size() + 1);
                listModel.addElement(newItem);
            }
        });

        removeButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                int[] selectedIndices = list.getSelectedIndices();
                for (int i = selectedIndices.length - 1; i >= 0; i--) {
                    listModel.remove(selectedIndices[i]);
                }
            }
        });

        frame.setVisible(true);
    }
}

在这个例子中,我们使用了DefaultListModel来存储列表项。当点击“Add Item”按钮时,会向列表中添加一个新项。当点击“Remove Selected Items”按钮时,会删除所有选定的项。

这个例子展示了如何在Java中动态地添加和删除列表项。你可以根据需要调整代码以适应你的应用程序。

0