⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listframe.java

📁 ACCP 软件工程java 教程学生用书
💻 JAVA
字号:
package list;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JList;
import java.awt.*;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.DefaultListModel;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class ListFrame extends JFrame {
    String str;
    JPanel contentPane;
    DefaultListModel modelone = new DefaultListModel();
    DefaultListModel modeltwo = new DefaultListModel();
    JList lstList1 = new JList(modelone);
    JList lstList2 = new JList(modeltwo);
    JButton btnAdd = new JButton();
    JButton btnRemove = new JButton();
    JLabel lbl1 = new JLabel();
    JLabel lbl2 = new JLabel();
    JButton btnAdd1 = new JButton();
    JButton btnRemove2 = new JButton();

    public ListFrame() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        setSize(new Dimension(400, 300));
        setTitle("列表");
        lstList1.setVisibleRowCount(5);
        lstList1.setBounds(new Rectangle(30, 80, 95, 179));
        lstList2.setVisibleRowCount(5);
        lstList2.setBounds(new Rectangle(245, 80, 96, 176));
        lstList2.addMouseListener(new ListFrame_lstList2_mouseAdapter(this));
        modelone.addElement("苹果");
        modelone.addElement("菠萝");
        modelone.addElement("香蕉");
        modelone.addElement("西瓜");
        modelone.addElement("芒果");
        modelone.addElement("樱桃");
        modelone.addElement("草莓");
        modelone.addElement("葡萄");
        modelone.addElement("桔子");
        modelone.addElement("梨");

        lstList1.addMouseListener(new ListFrame_lstList1_mouseAdapter(this));
        btnAdd.setBounds(new Rectangle(132, 87, 102, 29));
        btnAdd.setText("添加 >");
        btnAdd.addActionListener(new ListFrame_btnAdd_actionAdapter(this));
        btnRemove.setBounds(new Rectangle(132, 164, 104, 29));
        btnRemove.setText("移除 <");
        btnRemove.addActionListener(new ListFrame_btnRemove_actionAdapter(this));
        lbl1.setText("列表 1");
        lbl1.setBounds(new Rectangle(56, 49, 40, 28));
        lbl2.setText("列表 2");
        lbl2.setBounds(new Rectangle(279, 50, 35, 27));
        btnAdd1.setBounds(new Rectangle(132, 127, 102, 28));
        btnAdd1.setText("全部添加 >>");
        btnAdd1.addActionListener(new ListFrame_btnAdd1_actionAdapter(this));
        btnRemove2.setBounds(new Rectangle(132, 200, 104, 29));
        btnRemove2.setText("全部删除 <<");
        btnRemove2.addActionListener(new ListFrame_btnRemove2_actionAdapter(this));
        contentPane.add(lstList1);
        contentPane.add(lstList2);
        contentPane.add(lbl1);
        contentPane.add(lbl2);
        contentPane.add(btnRemove2);
        contentPane.add(btnRemove);
        contentPane.add(btnAdd1);
        contentPane.add(btnAdd);
    }

    public void btnAdd_actionPerformed(ActionEvent e) {
        modeltwo.addElement(str);
    }

    public void lstList1_mouseClicked(MouseEvent e) {
       str = (String)lstList1.getSelectedValue();
    }

    public void lstList2_mouseClicked(MouseEvent e) {
        str = (String)lstList2.getSelectedValue();
    }

    public void btnRemove_actionPerformed(ActionEvent e) {
        modeltwo.removeElement(str);
    }

    public void btnAdd1_actionPerformed(ActionEvent e) {
        for(int i=0;i<lstList1.getModel().getSize();i++)
            modeltwo.addElement(lstList1.getModel().getElementAt(i));
    }

    public void btnRemove2_actionPerformed(ActionEvent e) {
        modeltwo.removeAllElements();
    }
}

class ListFrame_btnAdd1_actionAdapter implements ActionListener {
    private ListFrame adaptee;
    ListFrame_btnAdd1_actionAdapter(ListFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnAdd1_actionPerformed(e);
    }
}

class ListFrame_btnRemove2_actionAdapter implements ActionListener {
    private ListFrame adaptee;
    ListFrame_btnRemove2_actionAdapter(ListFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnRemove2_actionPerformed(e);
    }
}

class ListFrame_lstList1_mouseAdapter extends MouseAdapter {
    private ListFrame adaptee;
    ListFrame_lstList1_mouseAdapter(ListFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void mouseClicked(MouseEvent e) {
        adaptee.lstList1_mouseClicked(e);
    }
}


class ListFrame_lstList2_mouseAdapter extends MouseAdapter {
    private ListFrame adaptee;
    ListFrame_lstList2_mouseAdapter(ListFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void mouseClicked(MouseEvent e) {
        adaptee.lstList2_mouseClicked(e);
    }
}

class ListFrame_btnRemove_actionAdapter implements ActionListener {
    private ListFrame adaptee;
    ListFrame_btnRemove_actionAdapter(ListFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnRemove_actionPerformed(e);
    }
}

class ListFrame_btnAdd_actionAdapter implements ActionListener {
    private ListFrame adaptee;
    ListFrame_btnAdd_actionAdapter(ListFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnAdd_actionPerformed(e);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -