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
| import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.File;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import java.lang.String;
public class EffFchGrl extends JPanel
{
public EffFchGrl(File dir)
{
setLayout(new BorderLayout());
// Création de l'arborescence
JTree tree = new JTree(addNodes(null, dir));
// Mise à l'écoute d'un événement dans l'arborescence
tree.addTreeSelectionListener(new TreeSelectionListener()
{
public void valueChanged(TreeSelectionEvent e)
{
// Définition du noeud où s'est passé l'événement
DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getPath().getLastPathComponent();
// Si le compte de feuille est 1, le noeud correspond à une feuille donc à un fichier...
if(node.getLeafCount() == 1)
{
// Exécution du traitement de ce fichier...
}
}
});
// Ajout d'un éventuel ascenceur
JScrollPane scrollpane = new JScrollPane();
// Ajustage du contenu de l'arbre
scrollpane.getViewport().add(tree);
// Centrage du tout
add(BorderLayout.CENTER, scrollpane);
}
DefaultMutableTreeNode addNodes(DefaultMutableTreeNode curTop, File dir)
{
String curPath = dir.getPath();
DefaultMutableTreeNode curDir = new DefaultMutableTreeNode(curPath);
if (curTop != null)
{
curTop.add(curDir);
}
// Ecriture dans l'ArrayList" de tous les noeuds rencontrés dossiers par dossiers
ArrayList ol = new ArrayList();
String[] tmp = dir.list();
for (int i = 0; i < tmp.length; i++)
{
ol.add(tmp[i]);
}
File f;
ArrayList files = new ArrayList();
for (int i = 0; i < ol.size(); i++)
{
String thisObject = (String) ol.get(i);
String newPath;
if (curPath.equals(File.separator + "StockGrilles"))
{
newPath = thisObject;
}
else
{
newPath = curPath + File.separator + thisObject;
}
if ((f = new File(newPath)).isDirectory())
{
addNodes(curDir, f);
}
else
{
files.add(thisObject);
}
}
for (int fnum = 0; fnum < files.size(); fnum++)
{
curDir.add(new DefaultMutableTreeNode(files.get(fnum)));
}
return curDir;
}
public Dimension getMinimumSize()
{
return new Dimension(310, 280);
}
public Dimension getPreferredSize()
{
return new Dimension(310, 280);
}
public int ChxEffFchGrl()
{
return Cadre.indEffFchGrl;
}
public int Eff(int ind)
{
frame = new JFrame("EffFchGrl");
frame.setTitle(" --- SDK --- EFFACER une GRILLE --- ");
frame.setResizable(false);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension dimEcr = tk.getScreenSize();
int lrgEcr = dimEcr.width;
int hauEcr = dimEcr.height;
int lrgFen = 310 + 6;
int hauFen = 280 + 26;
int decHrz = (lrgEcr - lrgFen) / 2;
int decVrt = (hauEcr - hauFen) / 2;
frame.setBounds(decHrz, decVrt, lrgFen, hauFen);
// DISPOSE_ON_CLOSE efface JFrame
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setAlwaysOnTop(true);
Container cp = frame.getContentPane();
cp.add(new EffFchGrl(new File("StockGrilles")));
// cp.add(new EffFchGrl(new File("." + File.separator + "StockGrilles")));
frame.pack();
frame.setVisible(true);
return Cadre.indEffFchGrl;
}
final static int SORTIR = 6,
NON_AUTORISE = 7,
AUTORISE = 8,
CONFIRME = 9;
public static String nomFchEff;
public static JFrame frame;
} |
Partager