Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.30 KB | None | 0 0
  1. import java.awt.GridLayout;
  2. import javax.swing.JFrame;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. import java.awt.*;
  6. import java.io.*;
  7. import java.util.Scanner;
  8. import java.util.Arrays;
  9. import javax.swing.JComboBox;
  10.  
  11.  
  12. public class Lab8 extends JPanel
  13. {
  14. private JRadioButton occurrence, alphabetical; //radio buttons
  15. private JPanel text;
  16. private JComboBox input;
  17. private JLabel label, file1,file2, unique, unique2;
  18. private JButton load, go,go2;
  19. private CountList<SuperString> words; // ordered list occurence
  20. private OrderedLinkedList<SuperString> words2; //ordered list aplphabetically
  21. private String filename;
  22. private int width = 450;
  23. private int height = 550;
  24. private TextArea textarea,textarea2;
  25. Scanner scan;
  26.  
  27. public Lab8()
  28. {
  29. ButtonListener listener = new ButtonListener();
  30. Integer [] select = {1,2,3,4};
  31. input = new JComboBox(select);
  32. text = new JPanel(new GridLayout(1,2));
  33. go = new JButton("Select Text File 1: ");
  34. go2 = new JButton("Select Text File 2: ");
  35. label = new JLabel("N: " );
  36. unique = new JLabel("");
  37. unique2 = new JLabel("");
  38. file1 = new JLabel("");
  39. file1.setFont(new Font("Helvetica",Font.PLAIN,24));
  40. unique.setFont(new Font("Helvetica",Font.PLAIN,24));
  41. file2 = new JLabel("");
  42. file2.setFont(new Font("Helvetica",Font.PLAIN,24));
  43. unique2.setFont(new Font("Helvetica",Font.PLAIN,24));
  44.  
  45. occurrence= new JRadioButton("Occurence");
  46. occurrence.setMnemonic(KeyEvent.VK_O);
  47. occurrence.addActionListener(listener);
  48. occurrence.setSelected(true);
  49.  
  50.  
  51. alphabetical = new JRadioButton("Alphabetical");
  52. alphabetical.setMnemonic(KeyEvent.VK_A);
  53. alphabetical.addActionListener(listener);
  54.  
  55. ButtonGroup group = new ButtonGroup(); //grouping RadioButtons
  56. group.add(occurrence);
  57. group.add(alphabetical);
  58.  
  59. go.addActionListener(listener);
  60. go2.addActionListener(listener);
  61. input.addActionListener(listener);
  62.  
  63. textarea = new TextArea("",0,0,TextArea.SCROLLBARS_VERTICAL_ONLY);
  64. textarea2 = new TextArea("",0,0,TextArea.SCROLLBARS_VERTICAL_ONLY);
  65. textarea.setFont(new Font("Helvetica",Font.PLAIN,24));
  66. textarea2.setFont(new Font("Helvetica",Font.PLAIN,24));
  67. textarea.setPreferredSize(new Dimension(width,height));
  68. textarea2.setPreferredSize(new Dimension(width,height));
  69. setPreferredSize(new Dimension(1000,700));
  70. text.add(textarea);
  71. text.add(textarea2);
  72. add(occurrence);
  73. add(alphabetical);
  74. add(label);
  75. add(input);
  76. add(go);
  77. add(file1);
  78. add(unique);
  79. add(go2);
  80. add(file2);
  81. add(unique2);
  82. add(text);
  83.  
  84. textarea.setText("No File Selected");
  85. textarea2.setText("No File Selected");
  86.  
  87.  
  88. }
  89. public class ButtonListener implements ActionListener //makes buttons do things
  90. {
  91. JFileChooser chooser = new JFileChooser("../Text");
  92.  
  93.  
  94. public void actionPerformed(ActionEvent event)
  95. {
  96. Integer N = input.getSelectedIndex()+1; // for N
  97.  
  98. if(event.getSource() == go) /when Gobutton is pushed, launches file chooser
  99. {
  100.  
  101. int returnvalue = chooser.showOpenDialog(null);
  102.  
  103. if(returnvalue == JFileChooser.APPROVE_OPTION)
  104. {
  105. try
  106. {
  107. File file = chooser.getSelectedFile();
  108. String text1= file.getName();
  109. file1.setText(text1);
  110. filename = file.getName();
  111. System.err.println(filename);
  112. scan = new Scanner(file);
  113.  
  114. }
  115. catch (IOException e)
  116. {
  117. System.err.println("IO EXCEPTION");
  118. return;
  119. }
  120. }
  121. else
  122. {
  123. return;
  124. }
  125.  
  126. String[] storage = new String[N];
  127. words = new CountLinkedList<SuperString>();
  128. words2 = new OrderedLinkedList<SuperString>();
  129. for(int i=1;i<N;i++)
  130. storage[i] = scan.next().toLowerCase().replace(",","").replace(".","");
  131.  
  132. while(scan.hasNext()) //loads txt file into array for sorting
  133. {
  134. for(int i=0;i<=N-2;i++)
  135. storage[i] = storage[i+1];
  136. storage[N-1] = scan.next().toLowerCase();
  137. storage[N-1] = storage[N-1].replace(",","").replace(".","");
  138. SuperString ss = new SuperString(storage);
  139. SuperString ss2= new SuperString(storage);
  140. words.add(ss );
  141. words2.add(ss2 );
  142. }
  143. scan.close();
  144. textarea.setText("");
  145. textarea.append(" "+filename+" has wordcount: "+words.size()+
  146. "n-------------------------nn");
  147.  
  148. SuperString[] ss = new SuperString[words.size()];
  149. SuperString[] ss2 = new SuperString[words2.size()];
  150. int i=0;
  151. int count =0, count2= 0;
  152.  
  153.  
  154. for(SuperString word: words)
  155. {
  156. ss[i] = word;
  157. i++;
  158. }
  159. int j=0;
  160. for(SuperString word: words2)
  161. {
  162. ss2[j] = word;
  163. j++;
  164. }
  165.  
  166.  
  167.  
  168. Arrays.sort(ss, new SuperStringCountOrder());
  169.  
  170. if(event.getSource() ==(occurrence))
  171. {
  172. for(SuperString word : ss)
  173. {
  174. count++;
  175. textarea.append(count+" "+ " "+word+"n");
  176. }
  177. }
  178. if(event.getSource() == (alphabetical))
  179. {
  180.  
  181. for(SuperString word : ss2)
  182. {
  183. count2++;
  184. textarea.append(count2+" "+ " "+word+"n");
  185. }
  186. unique.setText("Unique Count: "+ Integer.toString(count));
  187. }
  188. }
  189.  
  190. if(event.getSource() == go2)
  191. {
  192.  
  193. int returnvalue = chooser.showOpenDialog(null);
  194.  
  195. if(returnvalue == JFileChooser.APPROVE_OPTION)
  196. {
  197. try
  198. {
  199. File file = chooser.getSelectedFile();
  200. String text2= file.getName();
  201. file2.setText(text2);
  202. filename = file.getName();
  203. System.err.println(filename);
  204. scan = new Scanner(file);
  205.  
  206. }
  207. catch (IOException e)
  208. {
  209. System.err.println("IO EXCEPTION");
  210. return;
  211. }
  212. }
  213. else
  214. {
  215. return;
  216. }
  217.  
  218. String[] storage = new String[N];
  219. words = new CountLinkedList<SuperString>();
  220. words2 = new OrderedLinkedList<SuperString>();
  221. for(int i=1;i<N;i++)
  222. storage[i] = scan.next().toLowerCase().replace(",","").replace(".","");
  223.  
  224. while(scan.hasNext())
  225. {
  226. for(int i=0;i<=N-2;i++)
  227. storage[i] = storage[i+1];
  228. storage[N-1] = scan.next().toLowerCase();
  229. storage[N-1] = storage[N-1].replace(",","").replace(".","");
  230. SuperString ss = new SuperString(storage);
  231. SuperString ss2= new SuperString(storage);
  232. words.add(ss );
  233. words2.add(ss2 );
  234. }
  235. scan.close();
  236. textarea2.setText("");
  237. textarea2.append(" "+filename+" has wordcount: "+words.size()+
  238. "n-------------------------nn");
  239.  
  240. SuperString[] ss = new SuperString[words.size()];
  241. SuperString[] ss2 = new SuperString[words2.size()];
  242. int i=0;
  243. int count =0, count2= 0;
  244.  
  245.  
  246. for(SuperString word: words)
  247. {
  248. ss[i] = word;
  249. i++;
  250. }
  251. int j=0;
  252. for(SuperString word: words2)
  253. {
  254. ss2[j] = word;
  255. j++;
  256. }
  257.  
  258.  
  259.  
  260. Arrays.sort(ss, new SuperStringCountOrder());
  261.  
  262. // if(event.getSource()==occurrence)
  263. // {
  264. for(SuperString word : ss)
  265. {
  266. count++;
  267. textarea2.append(count+" "+" "+word+"n");
  268. }
  269. // }
  270. // else
  271. // {
  272.  
  273. for(SuperString word : ss2)
  274. {
  275. count2++;
  276. textarea2.append(count2+" "+ " "+word+"n");
  277. }
  278. unique2.setText("Unique Count: "+ Integer.toString(count));
  279. }
  280.  
  281. }
  282. }
  283.  
  284. public static void main(String[] arg)
  285. {
  286. JFrame frame = new JFrame("Lab 8");
  287. frame.getContentPane().add(new Lab8());
  288. frame.pack();
  289. frame.setVisible(true);
  290. }
  291. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement