
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 }