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 }