private JPanel getPanCodes() {
		if (panCodes == null) {
			panCodes = new JPanel();
			panCodes.setLayout(new BoxLayout(getPanCodes(), BoxLayout.Y_AXIS));
			ButtonGroup group=new ButtonGroup();
			for(int i=0;i<Interface.CODES.values().length;i++) {
				final int t=i;
				JRadioButton temp=new JRadioButton(Interface.CODES.values()[i].getNom());
				temp.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						selectionne=Interface.CODES.values()[t];
						if(selectionne.creerCode() instanceof ICodeClePublique) {
							if(decrypte) {
								labSaisieCle.setText("Ou saisie manuelle de la cl (prive ou complte):");
							}
							else {
								labSaisieCle.setText("Ou saisie manuelle de la cl (publique ou complte):");
							}
						}
						else {
							labSaisieCle.setText("Ou saisie manuelle de la cl:");
						}
						cleManu=true;
						getTextCheminCle().setEnabled(false);
						getTextSaisieCle().setEnabled(true);
						getTextSaisieCle().requestFocus();
						bloque=false;
						if(!decrypte) {
							getButGenererCle().setEnabled(true);
						}
						if(selectionne.creerCode() instanceof Rot13 || selectionne.creerCode() instanceof Rot47) {
							if(selectionne.creerCode() instanceof Rot13) {
								getTextSaisieCle().setText("13");
							}
							else {
								getTextSaisieCle().setText("47");
							}
							getTextSaisieCle().setEnabled(false);
							if(!decrypte) {
								getButGenererCle().setEnabled(false);
							}
							bloque=true;
						}
					}				
				});
				group.add(temp);
				panCodes.add(temp);
				tabRad[i]=temp;
			}
			panCodes.setBorder(BorderFactory.createTitledBorder("Code :"));
		}
		return panCodes;
	}