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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179 | Skip to content
This repository
Pull requests
Issues
Gist
@Elyss
1
0
0
Elyss/QPV-Testeur
Code
Issues 0
Pull requests 0
Projects 0
Wiki
Pulse
Graphs
Settings
QPV-Testeur/src/mainform.java
d86295a 22 minutes ago
@Elyss Elyss f
149 lines (101 sloc) 4.46 KB
import com.intellij.ide.util.gotoByName.ChooseByNameFilterConfiguration;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
/**
* Created by BGADIL-PC on 09/01/2017.
*/
public class mainform {
private JPanel panelmain;
private JTextArea paste_lignes;
private JButton button2;
private JProgressBar progressBar1;
private JLabel progress;
private JComboBox<String> selectpostcode;
private JButton detecterColonnesButton;
private JComboBox selectad;
private JLabel champLigne;
public mainform() {
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Runnable runner = new Runnable()
{
public void run()
{
// Je récupère un tableau excel collé dans un champ texte, j'en fais un tableau qui stocke chaque ligne en fonction des sauts de ligne
String[] lines = paste_lignes.getText().split("\\n");
String resultQPV = "";
int numLines = 0;
//Je crois que ce code là est con, il compte mes lignes mais à priori lines.length me donne déjà la réponse. Mais je devais avoir une super raison
for (int i = 0; i < lines.length; i++) {
numLines++;
}
//Tant que ya des lignes...
for (int i = 1; i < lines.length; i++) {
String adresse = "";
String CP = "";
//...je fais pour chaque ligne un tableau en fonction des tabulations (cellules) et je calcule en % à quelle ligne on en est
String[] cells = lines[i].split("\\t");
float percent_d = ((float) i / (float) numLines) * 100;
int percent = (int) percent_d;
//J'update la barre de proègrès pour savoir où ça en est et si ça plante
progressBar1.setValue(percent);
progress.setText(percent + "%");
champLigne.setText("En cours : ligne " + i + " " + adresse + " - " + CP);
/* METHODE DE DETECTION AUTOMATIQUE DES CHAMPS
for (int j = 0; j < cells.length; j++) {
if (CheckAdresse.identify_me(cells[j]) == "CP") {
CP = cells[j];
}
if (CheckAdresse.identify_me(cells[j]) == "adresse") {
adresse = cells[j];
}
}
*/
//En gros dans l'interface j'indique à quelles colonnes se situent l'adresse et le code postal que je veux manipuler
adresse = cells[selectad.getSelectedIndex()];
CP = cells[selectpostcode.getSelectedIndex()];
String QPV = null;
//Sauf si c'est vide, j'envoie à ma fonction un peu occulte les variables. C'est une requêtte HTTP, avec un algo qui analyse la page pour savoir quoi me renvoyer comme conclusion
if (adresse == "" || CP == "") {
QPV = "erreur sur la ligne";
} else {
try {
QPV = CheckAdresse.Check(CP, adresse, adresse);
} catch (IOException e1) {
e1.printStackTrace();
}
}
//J'ajoute le résultat dans un string. Je sépare chaque entrée du string par un saut de ligne. Je pourrais faire un tableau, mais en fait je vais copier coller ce que va afficher cette variable, alors autant faire un string.
resultQPV = resultQPV + QPV + "\n";
//System.out.println(i + " " + percent + " " + voie + " " + CP + " " + numero);
}
progressBar1.setValue(100);
progress.setText("100%" + "\n" + "DONE");
paste_lignes.setText(resultQPV);
}
};
Thread t = new Thread(runner, "Code Executer");
t.start();
}
});
detecterColonnesButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selectpostcode.removeAll();
selectpostcode.removeAllItems();
selectad.removeAll();
selectad.removeAllItems();
String[] lines = paste_lignes.getText().split("\\n");
String[] cells = lines[0].split("\\t");
for (int i = 0; i < cells.length; i++) {
selectpostcode.addItem(cells[i]);
}
for (int i = 0; i < cells.length; i++) {
selectad.addItem(cells[i]);
}
}
});
}
public static void main(String[] args) {
JFrame frame = new JFrame("mainform");
frame.setContentPane(new mainform().panelmain);
frame.setSize(900, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Contact GitHub API Training Shop Blog About
© 2017 GitHub, Inc. Terms Privacy Security Status Help
|