Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.GridLayout;
- import javax.swing.JFrame;
- import java.awt.event.*;
- import javax.swing.*;
- import java.awt.*;
- import java.io.*;
- import java.util.Scanner;
- import java.util.Arrays;
- import javax.swing.JComboBox;
- public class Lab8 extends JPanel
- {
- private JRadioButton occurrence, alphabetical; //radio buttons
- private JPanel text;
- private JComboBox input;
- private JLabel label, file1,file2, unique, unique2;
- private JButton load, go,go2;
- private CountList<SuperString> words; // ordered list occurence
- private OrderedLinkedList<SuperString> words2; //ordered list aplphabetically
- private String filename;
- private int width = 450;
- private int height = 550;
- private TextArea textarea,textarea2;
- Scanner scan;
- public Lab8()
- {
- ButtonListener listener = new ButtonListener();
- Integer [] select = {1,2,3,4};
- input = new JComboBox(select);
- text = new JPanel(new GridLayout(1,2));
- go = new JButton("Select Text File 1: ");
- go2 = new JButton("Select Text File 2: ");
- label = new JLabel("N: " );
- unique = new JLabel("");
- unique2 = new JLabel("");
- file1 = new JLabel("");
- file1.setFont(new Font("Helvetica",Font.PLAIN,24));
- unique.setFont(new Font("Helvetica",Font.PLAIN,24));
- file2 = new JLabel("");
- file2.setFont(new Font("Helvetica",Font.PLAIN,24));
- unique2.setFont(new Font("Helvetica",Font.PLAIN,24));
- occurrence= new JRadioButton("Occurence");
- occurrence.setMnemonic(KeyEvent.VK_O);
- occurrence.addActionListener(listener);
- occurrence.setSelected(true);
- alphabetical = new JRadioButton("Alphabetical");
- alphabetical.setMnemonic(KeyEvent.VK_A);
- alphabetical.addActionListener(listener);
- ButtonGroup group = new ButtonGroup(); //grouping RadioButtons
- group.add(occurrence);
- group.add(alphabetical);
- go.addActionListener(listener);
- go2.addActionListener(listener);
- input.addActionListener(listener);
- textarea = new TextArea("",0,0,TextArea.SCROLLBARS_VERTICAL_ONLY);
- textarea2 = new TextArea("",0,0,TextArea.SCROLLBARS_VERTICAL_ONLY);
- textarea.setFont(new Font("Helvetica",Font.PLAIN,24));
- textarea2.setFont(new Font("Helvetica",Font.PLAIN,24));
- textarea.setPreferredSize(new Dimension(width,height));
- textarea2.setPreferredSize(new Dimension(width,height));
- setPreferredSize(new Dimension(1000,700));
- text.add(textarea);
- text.add(textarea2);
- add(occurrence);
- add(alphabetical);
- add(label);
- add(input);
- add(go);
- add(file1);
- add(unique);
- add(go2);
- add(file2);
- add(unique2);
- add(text);
- textarea.setText("No File Selected");
- textarea2.setText("No File Selected");
- }
- public class ButtonListener implements ActionListener //makes buttons do things
- {
- JFileChooser chooser = new JFileChooser("../Text");
- public void actionPerformed(ActionEvent event)
- {
- Integer N = input.getSelectedIndex()+1; // for N
- if(event.getSource() == go) /when Gobutton is pushed, launches file chooser
- {
- int returnvalue = chooser.showOpenDialog(null);
- if(returnvalue == JFileChooser.APPROVE_OPTION)
- {
- try
- {
- File file = chooser.getSelectedFile();
- String text1= file.getName();
- file1.setText(text1);
- filename = file.getName();
- System.err.println(filename);
- scan = new Scanner(file);
- }
- catch (IOException e)
- {
- System.err.println("IO EXCEPTION");
- return;
- }
- }
- else
- {
- return;
- }
- String[] storage = new String[N];
- words = new CountLinkedList<SuperString>();
- words2 = new OrderedLinkedList<SuperString>();
- for(int i=1;i<N;i++)
- storage[i] = scan.next().toLowerCase().replace(",","").replace(".","");
- while(scan.hasNext()) //loads txt file into array for sorting
- {
- for(int i=0;i<=N-2;i++)
- storage[i] = storage[i+1];
- storage[N-1] = scan.next().toLowerCase();
- storage[N-1] = storage[N-1].replace(",","").replace(".","");
- SuperString ss = new SuperString(storage);
- SuperString ss2= new SuperString(storage);
- words.add(ss );
- words2.add(ss2 );
- }
- scan.close();
- textarea.setText("");
- textarea.append(" "+filename+" has wordcount: "+words.size()+
- "n-------------------------nn");
- SuperString[] ss = new SuperString[words.size()];
- SuperString[] ss2 = new SuperString[words2.size()];
- int i=0;
- int count =0, count2= 0;
- for(SuperString word: words)
- {
- ss[i] = word;
- i++;
- }
- int j=0;
- for(SuperString word: words2)
- {
- ss2[j] = word;
- j++;
- }
- Arrays.sort(ss, new SuperStringCountOrder());
- if(event.getSource() ==(occurrence))
- {
- for(SuperString word : ss)
- {
- count++;
- textarea.append(count+" "+ " "+word+"n");
- }
- }
- if(event.getSource() == (alphabetical))
- {
- for(SuperString word : ss2)
- {
- count2++;
- textarea.append(count2+" "+ " "+word+"n");
- }
- unique.setText("Unique Count: "+ Integer.toString(count));
- }
- }
- if(event.getSource() == go2)
- {
- int returnvalue = chooser.showOpenDialog(null);
- if(returnvalue == JFileChooser.APPROVE_OPTION)
- {
- try
- {
- File file = chooser.getSelectedFile();
- String text2= file.getName();
- file2.setText(text2);
- filename = file.getName();
- System.err.println(filename);
- scan = new Scanner(file);
- }
- catch (IOException e)
- {
- System.err.println("IO EXCEPTION");
- return;
- }
- }
- else
- {
- return;
- }
- String[] storage = new String[N];
- words = new CountLinkedList<SuperString>();
- words2 = new OrderedLinkedList<SuperString>();
- for(int i=1;i<N;i++)
- storage[i] = scan.next().toLowerCase().replace(",","").replace(".","");
- while(scan.hasNext())
- {
- for(int i=0;i<=N-2;i++)
- storage[i] = storage[i+1];
- storage[N-1] = scan.next().toLowerCase();
- storage[N-1] = storage[N-1].replace(",","").replace(".","");
- SuperString ss = new SuperString(storage);
- SuperString ss2= new SuperString(storage);
- words.add(ss );
- words2.add(ss2 );
- }
- scan.close();
- textarea2.setText("");
- textarea2.append(" "+filename+" has wordcount: "+words.size()+
- "n-------------------------nn");
- SuperString[] ss = new SuperString[words.size()];
- SuperString[] ss2 = new SuperString[words2.size()];
- int i=0;
- int count =0, count2= 0;
- for(SuperString word: words)
- {
- ss[i] = word;
- i++;
- }
- int j=0;
- for(SuperString word: words2)
- {
- ss2[j] = word;
- j++;
- }
- Arrays.sort(ss, new SuperStringCountOrder());
- // if(event.getSource()==occurrence)
- // {
- for(SuperString word : ss)
- {
- count++;
- textarea2.append(count+" "+" "+word+"n");
- }
- // }
- // else
- // {
- for(SuperString word : ss2)
- {
- count2++;
- textarea2.append(count2+" "+ " "+word+"n");
- }
- unique2.setText("Unique Count: "+ Integer.toString(count));
- }
- }
- }
- public static void main(String[] arg)
- {
- JFrame frame = new JFrame("Lab 8");
- frame.getContentPane().add(new Lab8());
- frame.pack();
- frame.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement