GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — algorithm-visualizer-java/Sorting.java at main · Rustam-Z/algorithm-visualizer-java Expand file tree/ Copy pathSorting.javaMore file actions 118 lines (97 loc) · 4.1 KB / Copy pathSorting.javaFile metadata and controls118 lines (97 loc) · 4.1 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 // Main GUI part of Sorting. import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class Sorting extends Main { // Object of the SortingAlgorithm, which includes the sorting algorithms SortingAlgorithm sortAlgo = new SortingAlgorithm(); // Panels: pPanel1 - option bar, pPanel2 - visualization bar JPanel pPanel1, pPanel2; // Option buttons for choosing sorting techniques, speed, and size of array // Will be added to pPanel1 JButton jbtRandomize, jbtMerge, jbtBubble, jbtInsertion, jbtSelection, jbtStart; // Progress Bar JProgressBar jb1; JSlider slider = new JSlider(0, 100, 2); public Sorting(){ // Panel for options (bubble sort, insertion sort...) pPanel1 = new JPanel(); pPanel1.setLayout(new GridLayout(1, 7)); pPanel1.setBackground(Color.CYAN); // Panel for visualization part pPanel2 = new JPanel(); pPanel2.setLayout(new BorderLayout()); // Buttons jbtRandomize = new JButton("Randomize"); jbtMerge = new JButton("Merge Sort"); jbtBubble = new JButton("Bubble Sort"); jbtInsertion = new JButton("Insertion Sort"); jbtSelection = new JButton("Selection Sort"); jbtStart = new JButton("Start"); jbtStart.setBackground(Color.GRAY); // Slider // slider.setPreferredSize(new Dimension(150, 30)); // slider.setMajorTickSpacing(50); // slider.setPaintTicks(false); // Adding elements to pPanel1 pPanel1.add(jbtRandomize); pPanel1.add(jbtMerge); pPanel1.add(jbtSelection); pPanel1.add(jbtBubble); pPanel1.add(jbtInsertion); // pPanel1.add(jbtStart); pPanel1.add(slider, BorderLayout.WEST); // Adding elements to pPanel2 pPanel2.add(sortAlgo, BorderLayout.CENTER); // Register listener, event handling ListenerClass listener = new ListenerClass(); jbtRandomize.addActionListener(listener); jbtMerge.addActionListener(listener); jbtBubble.addActionListener(listener); jbtInsertion.addActionListener(listener); jbtSelection.addActionListener(listener); jbtStart.addActionListener(listener); // Add Panels to the Main JFrame add(pPanel1, BorderLayout.NORTH); add(pPanel2, BorderLayout.CENTER); // Slider settings slider.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent event) { int value = slider.getValue(); sortAlgo.setSIZE(value); // Graphics g = new Graphics(); // sortAlgo.initBarHeight(); sortAlgo.BAR_WIDTH = (float)800 / sortAlgo.getSIZE(); // bar width sortAlgo.repaint(); System.out.println(value); } }); } class ListenerClass implements ActionListener { // Handles the Button operations public void actionPerformed(ActionEvent e) { if (e.getSource() == jbtRandomize) { sortAlgo.initShuffler(); } else if (e.getSource() == jbtMerge) { sortAlgo.mergeSort(); // Merge sort algorithm sortAlgo.initShuffler(); // shuffling } else if (e.getSource() == jbtBubble) { sortAlgo.bubbleSort(); // Bubble sort algorithm sortAlgo.initShuffler(); // shuffling } else if (e.getSource() == jbtInsertion) { sortAlgo.insertionSort(); // Insertion algorithm sortAlgo.initShuffler(); // shuffling } else if (e.getSource() == jbtSelection) { sortAlgo.selectionSort(); // Insertion algorithm sortAlgo.initShuffler(); // shuffling } else if (e.getSource() == jbtStart) { System.out.println("jbtStart button clicked"); } } } // ListenerClass } // Sorting |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |