Skip to content

Commit acbb17e

Browse files
author
Es'kov
committed
Разбиение по классам
1 parent cdba1e4 commit acbb17e

File tree

4 files changed

+184
-113
lines changed

4 files changed

+184
-113
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116
<Component class="javax.swing.JCheckBox" name="jCheckBox1">
117117
<Properties>
118118
<Property name="text" type="java.lang.String" value="Steps"/>
119+
<Property name="enabled" type="boolean" value="false"/>
119120
</Properties>
120121
<Events>
121122
<EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="jCheckBox1StateChanged"/>
Lines changed: 76 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package Main;
2+
13
import javax.swing.JOptionPane;
24
import java.util.ArrayList;
35
import java.util.List;
@@ -9,27 +11,34 @@
911
import java.util.Scanner;
1012
import javax.swing.JFileChooser;
1113

12-
import myPack.Vizualization;
14+
import myPack.*;
1315

1416
public class Form extends javax.swing.JFrame {
15-
public Form() {
16-
initComponents();
17-
}
18-
19-
public Graphics2D g2;
20-
// ???
21-
22-
int numArr[], curr_pos = 0;
23-
boolean draw = true;
24-
long start, end;
25-
17+
//Графон
18+
private Graphics2D g2;
19+
2620
//Список состояний массива
2721
private List<int[]> mainList = new ArrayList<int[]>();
22+
2823
//Линии, координаты которых основаны на индексах массива
29-
private List<int[]> linesList = new ArrayList<int[]>();
24+
//public List<int[]> linesList = new ArrayList<int[]>();
25+
26+
//Рисовалка
27+
private Vizualization Draw = new Vizualization(mainList);
28+
29+
public Form() {
30+
initComponents();
31+
32+
g2 = (Graphics2D) jPanel1.getGraphics();
33+
jPanel1.validate();
34+
}
3035

31-
public Vizualization Draw = new Vizualization(mainList, linesList);
32-
//Draw.paintComponents(???);
36+
private int numArr[], curr_pos = 0;
37+
private boolean draw = true;
38+
private long start, end;
39+
40+
//Сортировка
41+
private Sort srt;
3342

3443
//@SuppressWarnings("unchecked");
3544
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
@@ -42,32 +51,10 @@ private void initComponents() {
4251
jCheckBox1 = new javax.swing.JCheckBox();
4352
jButton3 = new javax.swing.JButton();
4453
jButton4 = new javax.swing.JButton();
45-
jCheckBox2 = new javax.swing.JCheckBox();
4654

4755
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
4856
setResizable(false);
49-
addComponentListener(new java.awt.event.ComponentAdapter() {
50-
public void componentShown(java.awt.event.ComponentEvent evt) {
51-
formComponentShown(evt);
52-
}
53-
});
54-
addWindowStateListener(new java.awt.event.WindowStateListener() {
55-
public void windowStateChanged(java.awt.event.WindowEvent evt) {
56-
formWindowStateChanged(evt);
57-
}
58-
});
59-
addWindowListener(new java.awt.event.WindowAdapter() {
60-
public void windowOpened(java.awt.event.WindowEvent evt) {
61-
//formWindowOpened(evt);
62-
}
63-
});
64-
65-
jTextField1.addMouseListener(new java.awt.event.MouseAdapter() {
66-
public void mouseClicked(java.awt.event.MouseEvent evt) {
67-
jTextField1MouseClicked(evt);
68-
}
69-
});
70-
57+
7158
jButton1.setText("GO");
7259
jButton1.addActionListener(new java.awt.event.ActionListener() {
7360
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -81,12 +68,12 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
8168
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
8269
jPanel1.setLayout(jPanel1Layout);
8370
jPanel1Layout.setHorizontalGroup(
84-
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
85-
.addGap(0, 1411, Short.MAX_VALUE)
71+
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
72+
.addGap(0, 0, Short.MAX_VALUE)
8673
);
8774
jPanel1Layout.setVerticalGroup(
88-
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
89-
.addGap(0, 728, Short.MAX_VALUE)
75+
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
76+
.addGap(0, 728, Short.MAX_VALUE)
9077
);
9178

9279
jButton2.setText("File");
@@ -97,6 +84,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
9784
});
9885

9986
jCheckBox1.setText("Steps");
87+
jCheckBox1.setEnabled(false);
10088
jCheckBox1.addChangeListener(new javax.swing.event.ChangeListener() {
10189
public void stateChanged(javax.swing.event.ChangeEvent evt) {
10290
jCheckBox1StateChanged(evt);
@@ -119,53 +107,42 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
119107
}
120108
});
121109

122-
jCheckBox2.setSelected(true);
123-
jCheckBox2.setText("View");
124-
jCheckBox2.addActionListener(new java.awt.event.ActionListener() {
125-
public void actionPerformed(java.awt.event.ActionEvent evt) {
126-
jCheckBox2ActionPerformed(evt);
127-
}
128-
});
129-
130110
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
131111
getContentPane().setLayout(layout);
132112
layout.setHorizontalGroup(
133-
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
134-
.addGroup(layout.createSequentialGroup()
135-
.addContainerGap()
136-
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
137-
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
138-
.addGroup(layout.createSequentialGroup()
139-
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
140-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
141-
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 934, javax.swing.GroupLayout.PREFERRED_SIZE)
142-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
143-
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
144-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
145-
.addComponent(jCheckBox2)
146-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
147-
.addComponent(jCheckBox1)
148-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
149-
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
150-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
151-
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)))
152-
.addContainerGap())
113+
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
114+
.addGroup(layout.createSequentialGroup()
115+
.addContainerGap()
116+
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
117+
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
118+
.addGroup(layout.createSequentialGroup()
119+
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
120+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
121+
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 990, javax.swing.GroupLayout.PREFERRED_SIZE)
122+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
123+
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
124+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
125+
.addComponent(jCheckBox1)
126+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
127+
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
128+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
129+
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)))
130+
.addContainerGap())
153131
);
154132
layout.setVerticalGroup(
155-
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
156-
.addGroup(layout.createSequentialGroup()
157-
.addContainerGap()
158-
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
159-
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
160-
.addComponent(jButton1)
161-
.addComponent(jButton2)
162-
.addComponent(jCheckBox1)
163-
.addComponent(jButton3)
164-
.addComponent(jButton4)
165-
.addComponent(jCheckBox2))
166-
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
167-
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
168-
.addContainerGap())
133+
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
134+
.addGroup(layout.createSequentialGroup()
135+
.addContainerGap()
136+
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
137+
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
138+
.addComponent(jButton1)
139+
.addComponent(jButton2)
140+
.addComponent(jCheckBox1)
141+
.addComponent(jButton3)
142+
.addComponent(jButton4))
143+
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
144+
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
145+
.addContainerGap())
169146
);
170147

171148
pack();
@@ -177,18 +154,19 @@ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS
177154
return;
178155
}
179156
jPanel1.update(g2);
180-
181157
mainList.clear();
182-
linesList.clear();
183158

184159
GetNums();
185160
mainList.add(numArr.clone());
161+
186162
start = System.nanoTime();
187-
quickSort(0, numArr.length - 1);
163+
//==============//
164+
srt.do_sort();
165+
//==============//
188166
end = System.nanoTime();
189-
Draw.paintComponents(g2);
167+
168+
Draw.paintComponents(g2);
190169
SetNums();
191-
192170
}//GEN-LAST:event_jButton1ActionPerformed
193171

194172
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
@@ -255,15 +233,15 @@ private void jTextField1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST
255233
}//GEN-LAST:event_jTextField1MouseClicked
256234

257235
private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox2ActionPerformed
258-
draw = jCheckBox2.isSelected();
236+
//draw = jCheckBox2.isSelected();
259237
}//GEN-LAST:event_jCheckBox2ActionPerformed
260238

261239
private void formWindowStateChanged(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowStateChanged
262240
Draw.repaint();
263241
}//GEN-LAST:event_formWindowStateChanged
264242

265243
private void formComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_formComponentShown
266-
g2 = (Graphics2D) jPanel1.getGraphics();
244+
//g2 = (Graphics2D) jPanel1.getGraphics();
267245
}//GEN-LAST:event_formComponentShown
268246

269247
private void GetNums(){
@@ -272,9 +250,13 @@ private void GetNums(){
272250
for(int i = 0; i < strArr.length; i++){
273251
numArr[i] = Integer.parseInt(strArr[i]);
274252
}
253+
254+
srt = new Sort(numArr, mainList);
275255
}
276256

277257
private void SetNums(){
258+
numArr = srt.call_back();
259+
278260
String result = "";
279261

280262
for(int i = 0; i < numArr.length; i++)
@@ -284,7 +266,7 @@ private void SetNums(){
284266
//JOptionPane.showMessageDialog(null, "Время сортировки: " + (end - start)/1000 + " мс" );
285267
}
286268

287-
int lev=0;
269+
/**int lev=0;
288270
private void quickSort(int left, int right) {
289271
290272
if (left >= right)
@@ -311,8 +293,6 @@ else if (j == cur)
311293
}
312294
}
313295
314-
/* recursion */
315-
316296
if (left < cur-1 ){
317297
int[] arr = new int [cur-left+lev];
318298
int k=0;
@@ -355,8 +335,8 @@ else if (j == cur)
355335
quickSort(cur+1, right);
356336
}
357337
}
358-
359-
/**private void DrawAll () {
338+
339+
private void DrawAll () {
360340
if(!draw) return;
361341
362342
for(int i = 0; i < mainList.size(); i++){
@@ -421,7 +401,6 @@ public void run() {
421401
private javax.swing.JButton jButton3;
422402
private javax.swing.JButton jButton4;
423403
private javax.swing.JCheckBox jCheckBox1;
424-
private javax.swing.JCheckBox jCheckBox2;
425404
private javax.swing.JPanel jPanel1;
426405
private javax.swing.JTextField jTextField1;
427406
// End of variables declaration//GEN-END:variables

0 commit comments

Comments
 (0)