| 12
 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
 
 | import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
 
import javax.swing.Icon;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JProgressBar;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.plaf.IconUIResource;
 
public class Index extends JApplet implements ActionListener {
 
	static int idxproj = 4;//Index id_proj dans requete SQL	
	public Tableau pan0;
	public JPanel centre = new JPanel();
	public JLabel lab0;
	public Dimension dim0;//Taille fenetre	
	public static Menu mbar;//Menu applet	
	//static Chargement ch,ch1;//Barres de chargements	
	public boolean indic = true;//Indicateur couleurs on/off
	public Thread th;//thread applet
	private Thread[] ths;
	int checkThread;
	public Parametres[] param = new Parametres[100];
	public Jtab tabPan = new Jtab();	
	public JPanel chargement;
 
	/** {@docRoot} constructeur applet */
		public void init() {
 
			checkThread = 0;
			ths = new Thread[100];
			//Conteneur applet
	    	 BorderLayout orientation = new BorderLayout();
	    	 setLayout(orientation);
	    	//Menu + écouteurs 
	    	mbar = new Menu();
	    	mbar.imprim.addActionListener(this);
	    	mbar.export.addActionListener(this);
	    	mbar.rechercher.addActionListener(this);
	    	//param = new Parametres(mbar);	    	
	    		//mbar.caseACocher.addActionListener(this);
	    	//Configuration réseaux, identifiants, url
	    	Conf servConf = new Conf();
	    	//Chargement paremetres de sécurité
	    	System.setProperty("java.security.policy",servConf.servSec(Conf.actConf));
	    	System.setProperty("java.rmi.server.hostname",servConf.urlHote(Conf.actConf));
	    	System.setProperty("java.rmi.server.codebase",servConf.urlSec(Conf.actConf));
	    	//Mise en page applet
			lab0 = new JLabel("Tableau");
			dim0 = new Dimension(500,500);
			JPanel chargPan = new JPanel();
			add("North",mbar);
		    add("South",chargPan);		    
			add("Center",tabPan);
			setSize( 1200,800);
			this.show();
		}
 
		public void start(){
			System.out.println();
		}
 
		/** {@docRoot}Action sur écouteurs (imprimer,rechercher)*/
		public void actionPerformed(ActionEvent e) {
 
 
 
	    	 if(e.getActionCommand().equals("Rechercher")){
 
	    		//comboBoxChanged
	    		checkThread++;
	    		//Gestion de la fermeture des onglets
	    		int nbOnglet = tabPan.getComponentCount()+1;
	    		if(checkThread>=nbOnglet){	
	    		checkThread = nbOnglet-1;
	    		}
 
	    		new Thread(new Runnable() {	    			
	    			public void run() {	
 
			    		try {
 
			    			//Chargement du tableau			
							param[checkThread] = new Parametres(mbar);
			    			param[checkThread].setOnglet(checkThread);
			    			chargement = new JPanel();
			    			chargement.add(new JLabel("<html><font color ='red'>Chargement</font></html>"));
							tabPan.addTab("chargement en cours "+param[checkThread].getOnglet(),chargement);
			    			tabPan.setName("charg "+checkThread+" "+param[checkThread].getOnglet());
			    		    pan0 = new Tableau(param[checkThread]);
			    		    ths[checkThread] = new Thread(pan0);
							ths[checkThread].start();
							ths[checkThread].setName(param[checkThread].getTitre());
 
						synchronized (ths[checkThread]) {
							System.out.println(checkThread);
 
			    			   tabPan.setComponentAt(param[checkThread].getOnglet(),pan0);
			    			   tabPan.setTitleAt(param[checkThread].getOnglet(),param[checkThread].getTitre());
 
						}
 
		    			repaint();
 
			    		    }
 
			    		catch (Exception e1) {
							JOptionPane.showMessageDialog(null, "Tableau indisponible - Données insuffisantes.");
							e1.printStackTrace();
						}    				
 
	    			}	
 
	    		}).start();	 
 
 
	    	}
} | 
Partager