questa è la prima vers supersemplificata fatta un bel pò di tempo fa
erano gli inizi però siccome il problema lo aveva già dato quì..penso che possa andare anche meglio.
Ho messo solo le parti meno "inutili", grazie mille per l'interessamento comunque 
codice:
public class CriptoSolo {
JFrame princ;
JMenuBar bar=new JMenuBar();
JMenu question = new JMenu("?");
JMenu file = new JMenu("File");
JMenuItem close =new JMenuItem("Chiudi programma");
JMenuItem about=new JMenuItem("about CrYpto!");
JButton lounch = new JButton("Prova programma");
ImageIcon logo = new ImageIcon("./images/Cri.png");
JLabel lab=new JLabel();
public CriptoSolo(){
princ = new JFrame("CrYpto! By TuLuR");
princWin();
}
public void princWin(){
close.setIcon(new ImageIcon("./images/close.gif"));
file.add(close);
about.setIcon(new ImageIcon("./images/question.gif"));
question.add(about);
bar.add(file);
bar.add(question);
princ.setJMenuBar(bar);
lab.setIcon(logo);
princ.add(lab,BorderLayout.NORTH);
lounch.addActionListener(new SceltaMenu());
close.addActionListener(new SceltaMenu());
about.addActionListener(new SceltaMenu());
lounch.setActionCommand("start");
lounch.setFocusPainted(false);
princ.add(lounch,BorderLayout.SOUTH);
princ.pack();
princ.setResizable(true);
princ.setLocation(345,272);
princ.setVisible(true);
princ.addWindowListener(new Controllo());
}
public static void main(String[] args) {
new CriptoSolo();
}
class SceltaMenu implements ActionListener{
public void actionPerformed(ActionEvent x){
/*
*......
*......
* Altre Opzioni
*/
if(x.getActionCommand()=="start"){
princ.setVisible(false);
JFileChooser scelta = new JFileChooser();
int valore;
scelta.setFileFilter(new filtro());
scelta.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
scelta.setApproveButtonToolTipText(".........");
scelta.setApproveButtonText("Codifica/Decodifica");
scelta.setDragEnabled(false);
scelta.setMultiSelectionEnabled(false);
valore = scelta.showOpenDialog(null);
File file = scelta.getSelectedFile();
//
//ALtra parte poco interessante..
//Apre la finestra con la progressBar
JWindow waiter = new JWindow();
JProgressBar barretta=new JProgressBar(0,(int)file.length());
JLabel text = new JLabel("Encripting...");
waiter.setSize(400,70);
waiter.setLocation(300,300);
waiter.add(text,BorderLayout.NORTH);
waiter.add(barretta,BorderLayout.SOUTH);
barretta.setValue(0);
barretta.setStringPainted(true);
waiter.setVisible(true);
waiter.validate();
...
...
...
...
waiter.setVisible(false);
...
...
...
...
}
princ.setVisible(true);
}
}
}
class Controllo implements WindowListener {
...
...
...
}
class filtro extends FileFilter{
...
...
}
}