22.6

  1 import java.awt.BorderLayout;
  2 import java.awt.Color;
  3 import java.awt.FlowLayout;
  4 import java.awt.event.ActionEvent;
  5 import java.awt.event.ActionListener;
  6 import java.util.Collections;
  7 import java.util.HashSet;
  8 import java.util.LinkedList;
  9 import java.util.Set;
 10 
 11 import javax.swing.*;
 12 import javax.swing.border.Border;
 13 
 14 public class S22_6 extends JFrame{
 15     JLabel jLabel1 = new JLabel("Enter a number: ");
 16     JTextField jTextField1 = new JTextField(10);
 17     JTextArea jTextArea1 = new JTextArea();
 18     JButton jB1 = new JButton("Sort");
 19     JButton jB2 = new JButton("Shuffle");
 20     JButton jB3 = new JButton("Reverse");    
 21     JPanel jP1 = new JPanel(), jP2 = new JPanel(), jP3 = new JPanel();
 22     LinkedList<Integer> myList = new myLinkedList<Integer>();
 23     
 24     public S22_6(){
 25         jP1.setLayout(new FlowLayout(FlowLayout.CENTER));
 26         jP1.add(jLabel1);
 27         jP1.add(jTextField1);
 28         
 29         jP2.add(jTextArea1);
 30         jP2.setBorder(BorderFactory.createLineBorder(Color.black,2));
 31         
 32         jP3.add(jB1);
 33         jP3.add(jB2);
 34         jP3.add(jB3);
 35         jB1.addActionListener(new ActionListener(){
 36 
 37             @Override
 38             public void actionPerformed(ActionEvent arg0) {
 39                 // TODO Auto-generated method stub
 40                 ((myLinkedList<String>) myList).Sort();
 41             }
 42             
 43         });
 44         jB2.addActionListener(new ActionListener(){
 45 
 46             @Override
 47             public void actionPerformed(ActionEvent arg0) {
 48                 // TODO Auto-generated method stub
 49                 ((myLinkedList<String>) myList).Shuffle();
 50             }
 51             
 52         });
 53         
 54         add(jP1,BorderLayout.NORTH);
 55         add(jP2,BorderLayout.CENTER);
 56         add(jP3,BorderLayout.SOUTH);
 57     }
 58     public static void main(String[] args) {
 59         // TODO Auto-generated method stub
 60         JFrame myFrame = new S22_6();
 61         
 62         myFrame.setTitle("Exercise22_6");
 63         myFrame.setSize(300,300);
 64         myFrame.setLocationRelativeTo(null); // Center the frame
 65         myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 66         myFrame.setVisible(true);
 67         
 68     }
 69     class myLinkedList<String> extends LinkedList{
 70         Set<Integer> mySet = new HashSet();
 71         public void Sort(){
 72             StringBuilder  myBuilder = new StringBuilder();
 73 //            for(Integer str:myList)
 74 //                if(str != Integer.valueOf(jTextField1.getText()))
 75             
 76             mySet.add(Integer.valueOf(jTextField1.getText()));    
 77             myList.clear();
 78             myList.addAll(mySet);        
 79             Collections.sort(myList);
 80             
 81             for(Integer str:myList)
 82                 {
 83                 myBuilder.append(str);
 84                 myBuilder.append(" ");
 85                 }
 86             jTextArea1.setText(myBuilder.toString());
 87         }
 88         
 89         public void Shuffle(){
 90             StringBuilder  myBuilder = new StringBuilder();
 91             
 92             mySet.add(Integer.valueOf(jTextField1.getText()));    
 93             myList.clear();
 94             myList.addAll(mySet);        
 95             Collections.shuffle(myList);
 96             
 97             for(Integer str:myList)
 98                 {
 99                 myBuilder.append(str);
100                 myBuilder.append(" ");
101                 }
102             jTextArea1.setText(myBuilder.toString());
103         }
104     }
105 }
View Code

 

posted on 2016-11-14 21:30  功夫茶茶  阅读(121)  评论(0编辑  收藏  举报

导航