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 180
|
public class View extends javax.swing.JFrame{ --> L51
private void initComponents() {
....
JButton addFile = new JButton();
addFile.setMaximumSize(new Dimension(20, 20));
addFile.setText("+");
addFile.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { L174
jMenuItem1ActionPerformed(evt);
}
});
....
JScrollPane treeview = tree.createTree();
treeview.setMinimumSize(new Dimension(0, 600));
treeview.setPreferredSize(new Dimension(200, 600));
splitPane.setLeftComponent(treeview);
....
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser = new JFileChooser();
FileFilter filter = new FileFilter() {
public boolean accept(File pathname) {
if (pathname.isDirectory()) {
return true;
}
String extension = getExtension(pathname);
if (extension != null) {
return true;
}
return false;
}
public String getExtension(File f) {
String ext = null;
String s = f.getName();
int i = s.lastIndexOf('.');
if (i > 0 && i < s.length() - 1) {
ext = s.substring(i+1).toLowerCase();
}
return ext;
}
@Override
public String getDescription() {
return "Tout type de fichier";
}
};
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
this.parseur = new Parseur(chooser.getSelectedFile().getPath());
constructFile(this.parseur.parseFile()); -->375
}
}
....
public void constructFile(Vector<Fnct> fnct){
Fichier file = new Fichier(fnct);
Position(file);
this.Fichiers.add(file);
int variable = this.Fichiers.size()-1;
file.setCouleur(new Color((100*variable)%255, (150*variable)%255, (200*variable)%255));
String pathfile = this.parseur.getpathfile();
if(this.comboisInit == false){
comboInit();
}
this.tree.updateTree(fnct.size(), pathfile, file); --> 515
AffData();
}
} //end of class view
public class Tree {
private JTree tree;
private DefaultMutableTreeNode root;
DefaultMutableTreeNode files;
int nbFnct;
private View parent;
public Tree(View parent){
this.parent = parent;
}
public JScrollPane createTree(){
tree = new JTree();
root = new DefaultMutableTreeNode(new String("Fichiers"));
tree = new JTree(root);
Tree_rendu tr = new Tree_rendu();
//DefaultTreeCellRenderer Tree_rendu;
Tree_edit te = new Tree_edit();
tree.setCellRenderer(tr);
//Tree_rendu = (DefaultTreeCellRenderer) tree.getCellRenderer();
tree.setCellEditor(te);
tree.setEditable(true);
JScrollPane jsp = new JScrollPane(tree);
//this.add(jsp);
return jsp;
}
public void updateTree(int nbFnct, String pathfile, Fichier fichier){
this.nbFnct = nbFnct;
Vector<DefaultMutableTreeNode> temp = new Vector();
for (int row = 0; row < this.root.getChildCount() ; row++) {
temp.add((DefaultMutableTreeNode)this.root.getChildAt(row));
}
String[] tempFile = pathfile.split("/");
chkbox jcb_files = new chkbox(fichier.getDisplayFile(), fichier, -1, new File(pathfile).getName());
files = new DefaultMutableTreeNode(jcb_files, true);
jcb_files.setSelected(true);
Vector<chkbox> chkboxes = new Vector();
for(int compteur=0; compteur < nbFnct; compteur++){
int num = compteur + 1;
chkbox jcb_fnct = new chkbox(fichier.getDisplayFnct().get(compteur), fichier, compteur, new String("Fonction " + num));
jcb_fnct.setSelected(true);
jcb_fnct.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent e){
filtre((chkbox)e.getSource());
}
});
chkboxes.add(jcb_fnct);
DefaultMutableTreeNode fnct = new DefaultMutableTreeNode(jcb_fnct, true);
files.add(fnct);
}
fichier.setCheckBox(chkboxes);
this.root.add(files);
((DefaultTreeModel) this.tree.getModel()).setRoot(this.root); -->L102
((DefaultTreeModel) this.tree.getModel()).reload();
jcb_files.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent e){
filtre((chkbox)e.getSource());
}
});
tree.repaint();
//this.tree.validate();
}
public void filtre(chkbox chkbox){
if(chkbox.isSelected() == true){
chkbox.setEnable();
}
else{
chkbox.setDisable();
}
this.parent.AffData();
this.tree.repaint();
}
} // end of class Tree |
Partager