exercise18_9.java

来自「java程序设计 机械工业出版社 书籍代码」· Java 代码 · 共 75 行

JAVA
75
字号
// Exercise18_9.java: Storing numbers using a linked list
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Exercise18_9 extends JFrame implements ActionListener {
  LinkedList list = new LinkedList();
  JTextField jtfNumber = new JTextField(8);
  JTextArea jtaNumbers = new JTextArea();
  JButton jbtSort = new JButton("Sort");
  JButton jbtShuffle = new JButton("Shuffle");
  JButton jbtReverse = new JButton("Reverse");

  public Exercise18_9() {
    JPanel panel1 = new JPanel();
    panel1.add(new JLabel("Enter a number: "));
    panel1.add(jtfNumber);

    JScrollPane jsp = new JScrollPane(jtaNumbers);

    JPanel panel2 = new JPanel();
    panel2.add(jbtSort);
    panel2.add(jbtShuffle);
    panel2.add(jbtReverse);

    Container container = getContentPane();
    container.add(panel1, BorderLayout.NORTH);
    container.add(jsp, BorderLayout.CENTER);
    container.add(panel2, BorderLayout.SOUTH);

    jtfNumber.addActionListener(this);
    jbtSort.addActionListener(this);
    jbtShuffle.addActionListener(this);
    jbtReverse.addActionListener(this);
  }

  public static void main(String[] args) {
    Exercise18_9 frame = new Exercise18_9();
    frame.setTitle("Exercise18_9");
    frame.setSize(300, 400);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }

  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == jtfNumber) {
      if (!list.contains(new Integer(jtfNumber.getText()))) {
        jtaNumbers.append(jtfNumber.getText() + " ");
        list.add(new Integer(jtfNumber.getText()));
      }
    }
    else if (e.getSource() == jbtSort) {
      Collections.sort(list);
      display();
    }
    else if (e.getSource() == jbtShuffle) {
      Collections.shuffle(list);
      display();
    }
    else if (e.getSource() == jbtReverse) {
      Collections.reverse(list);
      display();
    }
  }

  private void display() {
    jtaNumbers.setText(null);
    ListIterator iterator = list.listIterator();
    while (iterator.hasNext()) {
      jtaNumbers.append(iterator.next() + " ");
    }
  }
}

⌨️ 快捷键说明

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