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

📄 fruitlistdemo.java

📁 用JAVA编写的多线程TCP SOCKET程序
💻 JAVA
字号:
package Pro123;
import java.awt.*;/*!Begin Snippet:file*/
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;

/**
 * Demonstrates event-handling for lists and buttons. This class
 * extends class {@link @JPanel}.
 *
 * @author author name
 * @version One.0.0
 */
public class FruitListDemo extends JPanel {

    private JList  fruitList;
    private JButton  resetButton;
    private JTextArea resultTextArea;

    private Vector vector;

    /**
     * Creates a window.
     *
     * @param args  not used.
     */
    public static void main(String[] args) {

        JFrame frame = new JFrame("FruitListDemo");

        frame.setContentPane(new FruitListDemo());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200, 290);
        frame.setVisible(true);
    }

    /**
     * Create a Graphical User Interface.
     */
    public FruitListDemo() {

        setBackground(Color.white);

        setupVector();

        // Create the components
        fruitList = new JList(vector);
        resultTextArea = new JTextArea(6, 15);
        resetButton = new JButton("Reset Fruit List");

        // Customize the component properties
        fruitList.setVisibleRowCount(8);
        fruitList.setSelectionMode(
            ListSelectionModel.SINGLE_SELECTION);
        fruitList.setFixedCellHeight(15);
        fruitList.setFixedCellWidth(100);

        resultTextArea.setEditable(false);

        // Register a listener for the list component
        fruitList.addListSelectionListener(new FruitListListener());

        // Register a listener for the button component
        resetButton.addActionListener(new ResetButtonListener());

        // Add components to the container
        JPanel listPanel = new JPanel();
        listPanel.setBackground(Color.white);
        listPanel.add(
            new JScrollPane(fruitList,
                            JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));

        JPanel textAreaPanel = new JPanel();
        textAreaPanel.setBackground(Color.white);
        textAreaPanel.add(
            new JScrollPane(resultTextArea,
                            JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));

        setLayout(new BorderLayout());
        add(listPanel, BorderLayout.NORTH);
        add(resetButton, BorderLayout.CENTER);
        add(textAreaPanel, BorderLayout.SOUTH);
    }

    /*
     * Initializes the vector.
     */
    private void setupVector() {

        vector = new Vector();

        vector.add("Orange");
        vector.add("Pear");
        vector.add("Apple");
        vector.add("Pineapple");
        vector.add("Peach");
        vector.add("Grapefruit");
        vector.add("Lemon");
        vector.add("Grape");
        vector.add("Banana");
        vector.add("Tangerine");
    }

    /**
     * This inner class handles list-selection events.
     */
    class FruitListListener implements ListSelectionListener {

        /**
         * Moves the selected element from the list to the text area.
         *
         * @param event  the event object.
         */
        public void valueChanged(ListSelectionEvent event) {

            int index = fruitList.getSelectedIndex();

            if (! fruitList.getValueIsAdjusting() && index != -1) {
                resultTextArea.append(fruitList.getSelectedValue()
                                      + "\n");
                vector.removeElementAt(index);
                fruitList.setListData(vector);
            }
        }
    }

    /**
     * This inner class handles button events.
     */
    class ResetButtonListener implements ActionListener {

        /**
         * Restores the list to its original state.
         *
         * @param event  the event object.
         */
        public void actionPerformed(ActionEvent event) {

            setupVector();
            fruitList.setListData(vector);
            resultTextArea.setText("");
        }
    }
}


⌨️ 快捷键说明

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