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
| package PackageAnalog;
import etc etc
@SuppressWarnings("serial")
public class TestAnalog extends JFrame implements ActionListener{
private JPanel panel = new JPanel();
private JPanel paneltop = new JPanel();
private JPanel panelbot = new JPanel();
private JPanel panelcent = new JPanel();
private JPanel panelcenttop = new JPanel();
private JButton bParcoursFic = new JButton("Choisir les fichiers à analyser");
private JLabel label = new JLabel("Analyse des PDA et temps perdu avec leurs utilisations");
private JFileChooser choixRep = new JFileChooser();
private Object[][] donnees;
private List<MSG_ID> elements; //renvoie la List<MSG_ID> (liste d'objets contenent les différents paramètres)
private JTextArea zone_texte = new JTextArea();
public TestAnalog() {
super();
build();
}
private void build() {
setTitle("Analyse des fichiers"); //On donne un titre à l'application
setSize(700,550); //On donne une taille à notre fenêtre
setLocation(350, 225); //On centre la fenêtre sur l'écran
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
setContentPane(buildContentPane());
}
private JPanel buildContentPane(){
panel.setLayout(new BorderLayout(10, 10));
panel.setBackground(Color.white);
paneltop.setLayout(new FlowLayout(FlowLayout.CENTER));
panelbot.setLayout(new FlowLayout(FlowLayout.CENTER));
panelcent.setLayout(new BorderLayout(0, 0));
panelcenttop.setLayout(new FlowLayout(FlowLayout.CENTER));
panel.add(paneltop, BorderLayout.NORTH);
paneltop.add(label);
panel.add(panelcent, BorderLayout.CENTER);
panelcent.add(panelcenttop, BorderLayout.NORTH);
bParcoursFic.addActionListener(this);
panelcenttop.add(bParcoursFic);
//Création du tableau
String[] titreColonnes = { "MSG_ID", "Opérateur", "Temps perdu", "Date et Heure" };
DefaultTableModel model = new DefaultTableModel(donnees, titreColonnes) {
public boolean isCellEditable(int row, int column) {
return false; //aucune cellule editable
}
};
final JTable table = new JTable(model);
table.setAutoCreateRowSorter(true);
table.setPreferredScrollableViewportSize(new Dimension(640, 200));
table.setFillsViewportHeight(true);
JScrollPane scrollPane = new JScrollPane(table);
panelcenttop.add(scrollPane);
JScrollPane scroll_texte = new JScrollPane(zone_texte);
panelcent.add(scroll_texte);
table.addMouseListener(new MouseAdapter() { //si on clique sur une cellule
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {
JTable target = (JTable)e.getSource();
int ligne = target.getSelectedRow();
int col = target.getSelectedColumn();
zone_texte.setText(remplissageTexte(target, ligne, col));
}
}
});
return panel;
}
private Object[][] remplissage(){
private String remplissageTexte(JTable target, int ligne, int col){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource() == bParcoursFic){
choixRep.setCurrentDirectory(new File("/"));
choixRep.changeToParentDirectory();
choixRep.setMultiSelectionEnabled(true);
choixRep.showOpenDialog(null);
//choixRep.addChoosableFileFilter(new FileFilter(".log"));
File[] fs=choixRep.getSelectedFiles();
for( int i = 1; i<fs.length; ++i){
// nom du fichier
fs[i].getName();
// chemin absolu du fichier
fs[i].getAbsolutePath();
System.out.println(fs[i].getAbsolutePath());
}
elements = AnalogBis.Anamain(fs);
donnees = remplissage();
}
}
public static void main (String[] args) {
TestAnalog analyseur = new TestAnalog();
analyseur.setVisible(true);
}
} |
Partager